Package

com.lookout.borderpatrol.auth

keymaster

Permalink

package keymaster

This provides the specification contracts for Keymaster auth.

The composition of these filters should work, e.g.:

val bpFilter = CustomerIdFilter andThen SessionIdFilter val loginFilters = bpFilter andThen ... val authFilters = bpFilter andThen IdentityFilter(???) andThen AccessFilter(???)

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. keymaster
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. trait Credential extends AnyRef

    Permalink
  2. case class InternalAuthCredential(uniqueId: String, password: String, customerId: CustomerIdentifier, serviceId: ServiceIdentifier) extends Credential with Product with Serializable

    Permalink
  3. case class MasterToken(value: String) extends Token with Product with Serializable

    Permalink

    Primary identifier, used to re-ask the issuing service for a service access token

  4. case class OAuth2CodeCredential(uniqueId: String, subject: String, customerId: CustomerIdentifier, serviceId: ServiceIdentifier) extends Credential with Product with Serializable

    Permalink
  5. case class ServiceToken(value: String) extends Token with Product with Serializable

    Permalink

    Service access token to be injected into request to service

  6. case class ServiceTokens(services: Map[String, ServiceToken] = Map.empty[String, ServiceToken]) extends Product with Serializable

    Permalink

    A mapping of service names to service tokens

  7. sealed trait Token extends AnyRef

    Permalink

    A Token is an abstraction for the opaque string value for the JSON map that Keymaster returns

  8. case class Tokens(master: MasterToken, services: ServiceTokens) extends Product with Serializable

    Permalink

    This is the primary interface for accessing tokens The incoming format from Keymaster is like this: { "auth_service" : "MMM", "service_tokens" : { "service_a": "AAA", "service_b": "BBB" } }

    This is the primary interface for accessing tokens The incoming format from Keymaster is like this: { "auth_service" : "MMM", "service_tokens" : { "service_a": "AAA", "service_b": "BBB" } }

    Example:
    1. Tokens.empty.service("service_name") // returns None decode[Tokens](jsonString) // result in circe decode result

Value Members

  1. object EmptyToken extends Token with Product with Serializable

    Permalink

    The token is missing

  2. object Keymaster

    Permalink
  3. object Tokens extends Serializable

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped