Пример #1
0
// Relate the user with the current session.
func storeOAuth2User(host string, user *OAuth2User, req *wcg.Request) {
	s := req.Session
	key := fmt.Sprintf("oauth2://%s", host)
	d := wcg.DataBag{}
	d.Set("uid", user.id)
	d.Set("display_name", user.displayName)
	d.Set("profile_link", user.profileLink)
	d.Set("image_link", user.imageLink)
	d.SetTime("last_login", user.lastLogin)
	d.Set("auth_provider", user.authProvider)
	d.Set("access_token", user.AccessToken)
	d.Set("refresh_token", user.RefreshToken)
	d.SetTime("expiry", user.Token.Expiry)

	s.SetData(key, d)
	req.Logger.Debugf("Stored oauth2 token at %q on session: %v", key, user)
	req.Logger.Debugf("OAuth2 token expiry: %v", user.Token.Expiry)
}