コード例 #1
0
ファイル: session.go プロジェクト: mashuai/goth
// Authorize the session with Twitter and return the access token to be stored for future use.
func (s *Session) Authorize(provider goth.Provider, params goth.Params) (string, error) {
	p := provider.(*Provider)
	accessToken, err := p.consumer.AuthorizeToken(s.RequestToken, params.Get("oauth_verifier"))
	if err != nil {
		return "", err
	}
	s.AccessToken = accessToken
	return accessToken.Token, err
}
コード例 #2
0
ファイル: dropbox.go プロジェクト: mashuai/goth
// Authorize the session with Dropbox and return the access token to be stored for future use.
func (s *Session) Authorize(provider goth.Provider, params goth.Params) (string, error) {
	p := provider.(*Provider)
	token, err := p.config.Exchange(oauth2.NoContext, params.Get("code"))
	if err != nil {
		return "", err
	}
	s.Token = token.AccessToken
	return token.AccessToken, nil
}
コード例 #3
0
ファイル: session.go プロジェクト: mashuai/goth
// Authorize the session with LastFM and return the access token to be stored for future use.
func (s *Session) Authorize(provider goth.Provider, params goth.Params) (string, error) {
	p := provider.(*Provider)
	sess, err := p.GetSession(params.Get("token"))
	if err != nil {
		return "", err
	}
	s.AccessToken = sess["token"]
	s.Login = sess["login"]
	return sess["token"], err
}