Documentation ¶
Overview ¶
Package pcloa implements the OAuth2 protocol for authenticating users through pcloa. This package can be used as a reference implementation of an OAuth2 provider for Goth.
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) SetName(name string)
- func (p *Provider) UnmarshalSession(data string) (goth.Session, error)
- type Session
Constants ¶
This section is empty.
Variables ¶
var ( AuthURL = "https://one.pcl.ac.cn/idp/oauth2/authorize" TokenURL = "https://one.pcl.ac.cn/idp/oauth2/getToken" ProfileURL = "https://one.pcl.ac.cn/idp/oauth2/getUserInfo" )
These vars define the default Authentication, Token, and Profile URLS for pcloa.
Examples:
oa.AuthURL = "https://pcloa.acme.com/oauth/authorize oa.TokenURL = "https://pcloa.acme.com/oauth/token oa.ProfileURL = "https://pcloa.acme.com/api/v3/user
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 pcloa.
func New ¶
New creates a new pcloa provider and sets up important connection details. You should always call `pcloa.New` to get a new provider. Never try to create one manually.
func NewCustomisedURL ¶
func NewCustomisedURL(clientKey, secret, callbackURL, authURL, tokenURL, profileURL string, scopes ...string) *Provider
NewCustomisedURL is similar to New(...) but can be used to set custom URLs to connect to
func (*Provider) FetchUser ¶
FetchUser will go to pcloa 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
type Session ¶
Session stores data during the auth process with PCLOA.
func (*Session) Authorize ¶
Authorize the session with PCLOA 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 PCLOA provider.