private SocialUserInfo GetQQUserInfo() { SocialUserInfo result = null; string code = Request.QueryString.GetValue("Code", string.Empty); if (code.IsNotEmpty()) { QQAccessTokenRequestParams requestParams = new QQAccessTokenRequestParams( QQConnectionSettings.GetConfig().LoginCallback.ToString(), code); QQAccessTokenResponseParams responseParams = QQLoginConnectionManager.GetAccessToken(requestParams); QQGetOpenIDRequestParams getOpenParams = new QQGetOpenIDRequestParams(responseParams.AccessToken); QQGetOpenIDResponseParams openIDResponse = QQLoginConnectionManager.GetOpenID(getOpenParams); QQGetUserInfoResponseParams getUserInfoResponse = QQLoginConnectionManager.GetUserInfo(new QQGetUserInfoRequestParams(getOpenParams.AccessToken, openIDResponse.OpenID)); result = getUserInfoResponse.ToSocialUserInfo(); } return(result); }
protected override void ProcessResponseText(string responseText) { QQLoginConnectionException.CheckResponseText(responseText); string json = QQLoginConnectionManager.GetResponseJsonString(responseText); if (json.IsNullOrEmpty()) { throw new ApplicationException(responseText); } Dictionary <string, object> data = JSONSerializerExecute.Deserialize <Dictionary <string, object> >(json); QQGetOpenIDResponseParams result = new QQGetOpenIDResponseParams(); result.ClientID = data.GetValue("client_id", string.Empty); result.OpenID = data.GetValue("openid", string.Empty); this.ResponseParams = result; }