// 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) }