From b757ff04dc00982f7118c103ce5ad8e9c16c7483 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 17 Jan 2018 12:41:24 +0100 Subject: [PATCH] Polishing. Introduce convenience factory method to convert a VaultToken into LoginToken. See gh-159. --- .../vault/authentication/LoginToken.java | 15 +++++++++++++++ .../vault/authentication/LoginTokenAdapter.java | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/spring-vault-core/src/main/java/org/springframework/vault/authentication/LoginToken.java b/spring-vault-core/src/main/java/org/springframework/vault/authentication/LoginToken.java index c94aa66a..e8b45402 100644 --- a/spring-vault-core/src/main/java/org/springframework/vault/authentication/LoginToken.java +++ b/spring-vault-core/src/main/java/org/springframework/vault/authentication/LoginToken.java @@ -163,6 +163,21 @@ public class LoginToken extends VaultToken { return new LoginToken(token, Duration.ofSeconds(leaseDurationSeconds), true); } + /** + * Create a new renewable {@link LoginToken} with a {@code leaseDurationSeconds}. + * + * @param token must not be {@literal null}. + * @param leaseDuration the lease duration, must not be {@literal null} or negative. + * @return the created {@link VaultToken} + * @since 2.0 + */ + public static LoginToken renewable(VaultToken token, Duration leaseDuration) { + + Assert.notNull(token, "Token must not be null"); + + return renewable(token.toCharArray(), leaseDuration); + } + /** * Create a new renewable {@link LoginToken} with a {@code leaseDurationSeconds}. * diff --git a/spring-vault-core/src/main/java/org/springframework/vault/authentication/LoginTokenAdapter.java b/spring-vault-core/src/main/java/org/springframework/vault/authentication/LoginTokenAdapter.java index e7794005..28d76e57 100644 --- a/spring-vault-core/src/main/java/org/springframework/vault/authentication/LoginTokenAdapter.java +++ b/spring-vault-core/src/main/java/org/springframework/vault/authentication/LoginTokenAdapter.java @@ -108,7 +108,7 @@ public class LoginTokenAdapter implements ClientAuthentication { } } - private static Duration getLeaseDuration(@Nullable Number ttl) { + static Duration getLeaseDuration(@Nullable Number ttl) { return ttl == null ? Duration.ZERO : Duration.ofSeconds(ttl.longValue()); } }