com.gu

googleauth

package googleauth

Visibility
  1. Public
  2. All

Type Members

  1. trait Actions extends AnyRef

  2. case class DiscoveryDocument(authorization_endpoint: String, token_endpoint: String, userinfo_endpoint: String) extends Product with Serializable

  3. case class Error(errors: Seq[ErrorInfo], code: Int, message: String) extends Product with Serializable

  4. case class ErrorInfo(domain: String, reason: String, message: String) extends Product with Serializable

  5. case class FilterExemption(path: String) extends Product with Serializable

  6. case class GoogleAuthConfig(clientId: String, clientSecret: String, redirectUrl: String, domain: Option[String], maxAuthAge: Option[Duration] = None, enforceValidity: Boolean = true, prompt: Option[String] = None) extends Product with Serializable

    The configuration class for Google authentication

    The configuration class for Google authentication

    clientId

    The ClientID from the developer dashboard

    clientSecret

    The client secret from the developer dashboard

    redirectUrl

    The URL to return to after authentication has completed

    domain

    An optional domain to restrict login to (e.g. guardian.co.uk)

    maxAuthAge

    An optional duration after which you want a user to be prompted for their password again

    enforceValidity

    A boolean indicating whether you want a user to be re-authenticated when their session expires

    prompt

    An optional space delimited, case sensitive list of ASCII string values that specifies whether the Authorization Server prompts the End-User for reauthentication and consent

  7. class GoogleAuthException extends Exception

  8. class GoogleGroupChecker extends AnyRef

    The Directory API can tell you what groups (ie Google Group) a user is in.

    The Directory API can tell you what groups (ie Google Group) a user is in.

    You can use a Service Account to access the Directory API (in fact, non-Service access, ie web-user, doesn't seem to work?). The Service Account needs the following scope: https://www.googleapis.com/auth/admin.directory.group.readonly

    You also need a separate domain user account (eg [email protected]), which will be 'impersonated' when making the calls.

  9. case class GoogleServiceAccount(email: String, privateKey: PrivateKey, impersonatedUser: String) extends Product with Serializable

    A Service Account calls Google APIs on behalf of your application instead of an end-user.

    A Service Account calls Google APIs on behalf of your application instead of an end-user. https://developers.google.com/identity/protocols/OAuth2#serviceaccount

    You can create a service account in the Google Developers Console:

    https://developers.google.com/identity/protocols/OAuth2ServiceAccount#creatinganaccount

    email

    email address of the Service Account

    privateKey

    the Service Account's private key - from the P12 file generated when the Service Account was created

    impersonatedUser

    the email address of the user the application will be impersonating

  10. case class JsonWebToken(jwt: String) extends Product with Serializable

  11. case class JwtClaims(iss: String, sub: String, azp: String, email: String, at_hash: String, email_verified: Boolean, aud: String, hd: Option[String], iat: Long, exp: Long) extends Product with Serializable

  12. case class Token(access_token: String, token_type: String, expires_in: Long, id_token: String) extends Product with Serializable

  13. case class UserIdentity(sub: String, email: String, firstName: String, lastName: String, exp: Long, avatarUrl: Option[String]) extends Product with Serializable

  14. case class UserInfo(gender: Option[String], sub: Option[String], name: String, given_name: String, family_name: String, profile: Option[String], picture: Option[String], email: String, locale: String, hd: Option[String]) extends Product with Serializable

Value Members

  1. object AuthenticatedRequest

  2. object DiscoveryDocument extends Serializable

  3. object Error extends Serializable

  4. object ErrorInfo extends Serializable

  5. object GoogleAuth

  6. object GoogleAuthFilters

  7. object JwtClaims extends Serializable

  8. object Token extends Serializable

  9. object UserIdentity extends Serializable

  10. object UserInfo extends Serializable

Ungrouped