Documentation ¶
Overview ¶
Package google implements the OAuth2 protocol for authenticating users through Google.
Index ¶
- Variables
- type Provider
- func (p *Provider) BeginAuth(state string) (goth.Session, error)
- func (p *Provider) Client() *http.Client
- func (p *Provider) Debug(debug bool)
- func (p *Provider) FetchUser(session goth.Session) (goth.User, error)
- func (p *Provider) Name() string
- func (p *Provider) RefreshToken(refreshToken string) (*oauth2.Token, error)
- func (p *Provider) RefreshTokenAvailable() bool
- func (p *Provider) SetAccessType(at string)
- func (p *Provider) SetHostedDomain(hd string)
- func (p *Provider) SetLoginHint(loginHint string)
- func (p *Provider) SetName(name string)
- func (p *Provider) SetPrompt(prompt ...string)
- func (p *Provider) UnmarshalSession(data string) (goth.Session, error)
- type Session
Constants ¶
This section is empty.
Variables ¶
var Endpoint = goog.Endpoint
Endpoint is Google's OAuth 2.0 endpoint.
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider struct { ClientKey string Secret string CallbackURL string HTTPClient *http.Client // contains filtered or unexported fields }
Provider is the implementation of `goth.Provider` for accessing Google.
func New ¶
New creates a new Google provider, and sets up important connection details. You should always call `google.New` to get a new Provider. Never try to create one manually.
func (*Provider) FetchUser ¶
FetchUser will go to Google and access basic information about the user.
func (*Provider) RefreshToken ¶
RefreshToken get new access token based on the refresh token
func (*Provider) RefreshTokenAvailable ¶
RefreshTokenAvailable refresh token is provided by auth provider or not
func (*Provider) SetAccessType ¶
SetAccessType sets the access_type parameter for the google OAuth call. If an access token is being requested, the client does not receive a refresh token unless a value of offline is specified. See https://developers.google.com/identity/protocols/oauth2/openid-connect#access-type-param
func (*Provider) SetHostedDomain ¶
SetHostedDomain sets the hd parameter for google OAuth call. Use this to force user to pick user from specific hosted domain. See https://developers.google.com/identity/protocols/oauth2/openid-connect#hd-param
func (*Provider) SetLoginHint ¶
SetLoginHint sets the login_hint parameter for the google OAuth call. Use this to prompt the user to login with a specific account. See https://developers.google.com/identity/protocols/oauth2/openid-connect#login-hint
func (*Provider) SetName ¶
SetName is to update the name of the provider (needed in case of multiple providers of 1 type)
func (*Provider) SetPrompt ¶
SetPrompt sets the prompt values for the google OAuth call. Use this to force users to choose and account every time by passing "select_account", for example. See https://developers.google.com/identity/protocols/OpenIDConnect#authenticationuriparameters
type Session ¶
type Session struct { AuthURL string AccessToken string RefreshToken string ExpiresAt time.Time IDToken string }
Session stores data during the auth process with Google.
func (*Session) Authorize ¶
Authorize the session with Google and return the access token to be stored for future use.
func (Session) GetAuthURL ¶
GetAuthURL will return the URL set by calling the `BeginAuth` function on the Google provider.