Class OpenID::GoogleDiscovery
In: lib/gapps_openid.rb
Parent: Object

Handles the bulk of Google‘s modified discovery prototcol See groups.google.com/group/google-federated-login-api/web/openid-discovery-for-hosted-domains

Methods

Constants

NAMESPACES = { 'xrds' => 'xri://$xrd*($v*2.0)', 'xrd' => 'xri://$xrds', 'openid' => 'http://namespace.google.com/openid/xmlns'

Public Instance methods

Handles discovery for a domain

Handles discovery for a user‘s claimed ID.

Kickstart the discovery process by checking against Google‘s well-known location for hosted domains. This gives us the location of the site‘s XRDS doc

Fetches the XRDS and verifies the signature and authority for the doc

Process the URITemplate in the XRDS to derive the location of the claimed id‘s XRDS

Main entry point for discovery. Attempts to detect whether or not the URI is a raw domain name (‘mycompany.com’) vs. a user‘s claimed ID (‘mycompany.com/openid?id=12345’) and performs the site or user discovery appropriately

[Validate]