/// <summary>Loads user authentication information.</summary> /// /// <param name="userSession">The user session.</param> /// <param name="tokens"> The tokens.</param> /// <param name="authInfo"> Information describing the authentication.</param> protected override void LoadUserAuthInfo(AuthUserSession userSession, IOAuthTokens tokens, Dictionary <string, string> authInfo) { if (authInfo.ContainsKey("user_id")) { tokens.UserId = authInfo.GetValueOrDefault("user_id"); } if (authInfo.ContainsKey("screen_name")) { tokens.UserName = authInfo.GetValueOrDefault("screen_name"); } try { if (tokens.UserId != null) { var json = AuthHttpGateway.DownloadTwitterUserInfo(tokens.UserId); var objs = JsonObject.ParseArray(json); if (objs.Count > 0) { var obj = objs[0]; tokens.DisplayName = obj.Get("name"); } } LoadUserOAuthProvider(userSession, tokens); } catch (Exception ex) { Log.Error("Could not retrieve twitter user info for '{0}'".Fmt(userSession.TwitterUserId), ex); } }
/// <summary>Loads user authentication information.</summary> /// /// <param name="userSession">The user session.</param> /// <param name="tokens"> The tokens.</param> /// <param name="authInfo"> Information describing the authentication.</param> protected override void LoadUserAuthInfo(AuthUserSession userSession, IOAuthTokens tokens, System.Collections.Generic.Dictionary <string, string> authInfo) { try { var json = AuthHttpGateway.DownloadFacebookUserInfo(tokens.AccessTokenSecret); var obj = JsonObject.Parse(json); tokens.UserId = obj.Get("id"); tokens.UserName = obj.Get("username"); tokens.DisplayName = obj.Get("name"); tokens.FirstName = obj.Get("first_name"); tokens.LastName = obj.Get("last_name"); tokens.Email = obj.Get("email"); LoadUserOAuthProvider(userSession, tokens); } catch (Exception ex) { Log.Error("Could not retrieve facebook user info for '{0}'".Fmt(tokens.DisplayName), ex); } }
/// <summary> /// Load the UserAuth info into the session. /// </summary> /// <param name="userSession"> /// The User session. /// </param> /// <param name="tokens"> /// The OAuth tokens. /// </param> /// <param name="authInfo"> /// The auth info. /// </param> protected override void LoadUserAuthInfo(AuthUserSession userSession, IOAuthTokens tokens, Dictionary <string, string> authInfo) { try { var contents = AuthHttpGateway.DownloadYammerUserInfo(tokens.UserId); var authObj = JsonObject.Parse(contents); tokens.UserId = authObj.Get("id"); tokens.UserName = authObj.Get("name"); tokens.DisplayName = authObj.Get("full_name"); tokens.FullName = authObj.Get("full_name"); tokens.FirstName = authObj.Get("first_name"); tokens.LastName = authObj.Get("last_name"); var emails = authObj.Object("contact").ArrayObjects("email_addresses").ConvertAll(x => new EmailAddresses { Type = x.Get("type"), Address = x.Get("address") }); var email = emails.FirstOrDefault(q => q.Type == "primary"); if (email != null) { tokens.Email = email.Address; } // Pass along this.LoadUserOAuthProvider(userSession, tokens); } catch (Exception ex) { Log.Error("Could not retrieve Yammer user info for '{0}'".Fmt(tokens.DisplayName), ex); } }