class AuthenticationTokenManager extends NamedLogging
Attempts to hold a valid authentication token.
The first token will not be fetched until getToken
is called for the first time.
Subsequent calls to getToken
before the token is obtained will be resolved for the first token.
getToken
always returns a EitherT[Future, ...]
but if a token is already available will be completed immediately with that token.
- Alphabetic
- By Inheritance
- AuthenticationTokenManager
- NamedLogging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new AuthenticationTokenManager(obtainToken: (TraceContext) => EitherT[Future, Status, AuthenticationTokenWithExpiry], isClosed: => Boolean, config: AuthenticationTokenManagerConfig, clock: Clock, loggerFactory: NamedLoggerFactory)(implicit executionContext: ExecutionContext)
Type Members
- case class HaveToken(token: AuthenticationToken) extends State with Product with Serializable
- case class Refreshing(pending: EitherT[Future, Status, AuthenticationTokenWithExpiry]) extends State with Product with Serializable
- sealed trait State extends AnyRef
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getToken: EitherT[Future, Status, AuthenticationToken]
Request a token.
Request a token. If a token is immediately available the returned future will be immediately completed. If there is no token it will cause a token refresh to start and be completed once obtained. If there is a refresh already in progress it will be completed with this refresh.
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def invalidateToken(invalidToken: AuthenticationToken): Unit
Invalid the current token if it matches the provided value.
Invalid the current token if it matches the provided value. Although unlikely, the token must be provided here in case a response terminates after a new token has already been generated.
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logger: TracedLogger
- Attributes
- protected
- Definition Classes
- NamedLogging
- val loggerFactory: NamedLoggerFactory
- Attributes
- protected
- Definition Classes
- AuthenticationTokenManager → NamedLogging
- implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noTracingLogger: Logger
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- case object NoToken extends State with Product with Serializable