final class UserpassSecretStore extends SecretStore
A proxy secret store that uses another secret store to authenticate users from a secrets.users path. If a user can be authenticated with information available at the secrets.users path then the user can act as a proxy for subsequent secret access. For example, config and SSS secret stores require this proxy as they do not hold the notion of user principals beyond applications, yet we need to manage such users in the system. Secret stores such as Vault do not require this class. For example, Vault already provides its own user-password authentication method.
Passwords are assumed to be hashed using SHA-512 and stored as hex string values in the secret store.
- Alphabetic
- By Inheritance
- UserpassSecretStore
- SecretStore
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new UserpassSecretStore(getAuthenticationToken: GetAuthenticationToken, getSecret: GetSecret, underlyingAuthenticate: Authenticate, underlyingGetAuthenticatedSecret: GetAuthenticatedSecret, underlyingPutSecret: PutAuthenticatedSecret, underlyingRemoveSecret: RemoveAuthenticatedSecret)(implicit ec: ExecutionContext)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val addUser: AddUser
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val authenticate: Authenticate
- Definition Classes
- UserpassSecretStore → SecretStore
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- val getAuthenticatedSecret: GetAuthenticatedSecret
- Definition Classes
- UserpassSecretStore → SecretStore
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val getUser: GetUser
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def namespaceAndSecretPath(defaultNamespace: String, secret: String): (String, String)
Helper function for implementations to extract namespaces from provided secret paths.
Helper function for implementations to extract namespaces from provided secret paths.
- Attributes
- protected
- Definition Classes
- SecretStore
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val putAuthenticatedSecret: PutAuthenticatedSecret
- Definition Classes
- UserpassSecretStore → SecretStore
- val removeAuthenticatedSecret: RemoveAuthenticatedSecret
- Definition Classes
- UserpassSecretStore → SecretStore
- val removeUser: RemoveUser
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()