Skip to content

Commit dabf2f8

Browse files
committed
Added useful methods for ServiceTokenCredentialsSupplier
1 parent 89c209f commit dabf2f8

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

services-security/src/main/java/io/scalecube/services/security/ServiceTokenCredentialsSupplier.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import io.scalecube.security.vault.VaultServiceTokenSupplier;
44
import io.scalecube.services.auth.CredentialsSupplier;
55
import io.scalecube.services.exceptions.ForbiddenException;
6+
import java.util.Arrays;
67
import java.util.Collection;
78
import java.util.Collections;
89
import java.util.List;
@@ -37,6 +38,27 @@ public ServiceTokenCredentialsSupplier(
3738
this.allowedRoles = allowedRoles;
3839
}
3940

41+
/**
42+
* Clones this {@link ServiceTokenCredentialsSupplier} with given allowed roles.
43+
*
44+
* @param allowedRoles allowedRoles
45+
* @return new instance
46+
*/
47+
public ServiceTokenCredentialsSupplier forAllowedRoles(String... allowedRoles) {
48+
return forAllowedRoles(Arrays.asList(allowedRoles));
49+
}
50+
51+
/**
52+
* Clones this {@link ServiceTokenCredentialsSupplier} with given allowed roles.
53+
*
54+
* @param allowedRoles allowedRoles
55+
* @return new instance
56+
*/
57+
public ServiceTokenCredentialsSupplier forAllowedRoles(Collection<String> allowedRoles) {
58+
return new ServiceTokenCredentialsSupplier(
59+
environment, vaultAddress, vaultTokenSupplier, allowedRoles);
60+
}
61+
4062
@Override
4163
public Mono<byte[]> credentials(String serviceName, List<String> serviceRoles) {
4264
return Mono.defer(

0 commit comments

Comments
 (0)