protected override void LoadUserAuthInfo(AuthUserSession userSession, IAuthTokens 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); } }
protected override void LoadUserAuthInfo(AuthUserSession userSession, IAuthTokens 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"); } var userId = tokens.UserId ?? userSession.TwitterUserId; try { if (userId != null) { var json = AuthHttpGateway.DownloadTwitterUserInfo( ConsumerKey, ConsumerSecret, tokens.AccessToken, tokens.AccessTokenSecret, userId); var objs = JsonObject.ParseArray(json); if (objs.Count > 0) { ParseJsonObject(objs[0], tokens, authInfo); } } else if (tokens.AccessToken != null && tokens.AccessTokenSecret != null) { var json = AuthHttpGateway.VerifyTwitterCredentials( ConsumerKey, ConsumerSecret, tokens.AccessToken, tokens.AccessTokenSecret); var obj = JsonObject.Parse(json); ParseJsonObject(obj, tokens, authInfo); } } catch (Exception ex) { if (userId != null) { Log.Error($"Could not retrieve twitter user info for '{userId}'", ex); } throw; } LoadUserOAuthProvider(userSession, tokens); }
protected override void LoadUserAuthInfo(AuthUserSession userSession, IAuthTokens 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 oauthToken = new OAuthAccessToken { OAuthProvider = this, AccessToken = tokens.AccessToken, AccessTokenSecret = tokens.AccessTokenSecret, }; var json = AuthHttpGateway.DownloadTwitterUserInfo(oauthToken, tokens.UserId); var objs = JsonObject.ParseArray(json); if (objs.Count > 0) { var obj = objs[0]; tokens.DisplayName = obj.Get("name"); string profileUrl; if (obj.TryGetValue("profile_image_url", out profileUrl)) { tokens.Items[AuthMetadataProvider.ProfileUrlKey] = profileUrl; } if (SaveExtendedUserInfo) { obj.Each(x => authInfo[x.Key] = x.Value); } } } } catch (Exception ex) { Log.Error("Could not retrieve twitter user info for '{0}'".Fmt(userSession.TwitterUserId), ex); } LoadUserOAuthProvider(userSession, tokens); }
protected override void LoadUserAuthInfo(AuthUserSession userSession, IAuthTokens 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"); } var userId = tokens.UserId ?? userSession.TwitterUserId; try { if (userId != null) { var json = AuthHttpGateway.DownloadTwitterUserInfo( ConsumerKey, ConsumerSecret, tokens.AccessToken, tokens.AccessTokenSecret, userId); var objs = JsonObject.ParseArray(json); if (objs.Count > 0) { var obj = objs[0]; tokens.DisplayName = obj.Get("name"); var userName = obj.Get("screen_name"); if (!string.IsNullOrEmpty(userName)) { tokens.UserName = userName; } var email = obj.Get("email"); if (!string.IsNullOrEmpty(email)) { tokens.Email = email; } else if (RetrieveEmail) { try { AuthHttpGateway.VerifyTwitterAccessToken( ConsumerKey, ConsumerSecret, tokens.AccessToken, tokens.AccessTokenSecret, out userId, out email); tokens.Email = email; } catch (Exception ex) { Log.Warn($"Could not retrieve Twitter Email", ex); } } if (obj.TryGetValue("profile_image_url", out var profileUrl)) { tokens.Items[AuthMetadataProvider.ProfileUrlKey] = profileUrl; if (string.IsNullOrEmpty(userSession.ProfileUrl)) { userSession.ProfileUrl = profileUrl.SanitizeOAuthUrl(); } } if (SaveExtendedUserInfo) { obj.Each(x => authInfo[x.Key] = x.Value); } } } userSession.UserAuthName = tokens.UserName ?? tokens.Email; } catch (Exception ex) { if (userId != null) { Log.Error($"Could not retrieve twitter user info for '{userId}'", ex); } throw; } LoadUserOAuthProvider(userSession, tokens); }