NAME

RT::Authen::OAuth2::Google - Handler for Google OAuth2 logins

Example Metadata

    Google returns something like this:

    "id": "123456789012345678901",
    "email": "alice@wonderland.com",
    "verified_email": true,
    "name": "Alice Smith",
    "given_name": "Alice",
    "family_name": "Smith",
    "picture": "https://lh6.googleusercontent.com/big-ugly-url-path/photo.jpg",
    "locale": "en",
    "hd": "wonderland.com"

Configuring Google

    Set up a Google Developer's console associated with your organization's Google account. See https://console.developers.google.com

    Create a project. Under Credentials, create an OAuth Client ID, and select Web Application. Enter your Authorized Redirect URI in this form:

    https://www.your-rt-domain.com/NoAuth/OAuthRedirect

    The path /NoAuth/OAuthRedirect must be exactly as listed here, but you should change your protocol and domain to match your configuration.

    Make a note of the Client ID and Client secret listed on this page. You will need to put these in your RT_SiteConfig.pm - documentation is in the etc/OAuth_Config.pm file in this module.

    Click Create. Note if you edit the URI later, you may need to click Save twice. The Google user interface is a bit finicky.

Metadata()

    Takes one scalar string arg, containing the decoded response from the protected resource server. Returns a hash containing key/value pairs of user profile metadata items. Google returns JSON.