private KiiUser CreateCurrentKiiUser( Dictionary<string, object> queryParameters) { string succeeded = (string)queryParameters["kii_succeeded"]; if (succeeded == "false") { // server error. fail to login. SocialException exception = null; string errorCode = (string)queryParameters["kii_error_code"]; if ("UNAUTHORIZED" == errorCode) { exception = new OAuthException( "authorization credentials are rejected by provider"); } else { exception = new SocialException( "login failed with error: " + errorCode); } throw exception; } if (succeeded != "true") { // server error. invalid response. throw new SocialException("unknown kii_succeed: " + succeeded); } KiiUser retval = KiiUser.CreateByUri( new Uri(Utils.Path("kiicloud://", "users", GetNotEmptyString( queryParameters, "kii_user_id")))); Dictionary<string, object> dictionary = new Dictionary<string, object>() { { KiiUser.SocialResultParams.PROVIDER_USER_ID, GetNotEmptyString(queryParameters, "provider_user_id")}, { KiiUser.SocialResultParams.PROVIDER, this.provider }, { KiiUser.SocialResultParams.KII_NEW_USER, queryParameters["kii_new_user"] } }; // oauth_token and oauth_token_secret are optinal fields. if (queryParameters.ContainsKey("oauth_token")) { dictionary.Add(KiiUser.SocialResultParams.OAUTH_TOKEN, queryParameters["oauth_token"]); } if (queryParameters.ContainsKey("oauth_token_secret")) { dictionary.Add(KiiUser.SocialResultParams.OAUTH_TOKEN_SECRET, queryParameters["oauth_token_secret"]); } if (queryParameters.ContainsKey("kii_expires_in")) { dictionary.Add("kii_expires_in", queryParameters["kii_expires_in"]); } if (queryParameters.ContainsKey("oauth_token_expires_in")) { dictionary.Add("oauth_token_expires_in", queryParameters["oauth_token_expires_in"]); } _KiiInternalUtils.SetSocialAccessTokenDictionary(retval, dictionary); _KiiInternalUtils.SetCurrentUser(retval); _KiiInternalUtils.UpdateAccessToken(GetNotEmptyString( queryParameters, "kii_access_token")); return retval; }
private KiiUser CreateCurrentKiiUser( Dictionary <string, object> queryParameters) { string succeeded = (string)queryParameters["kii_succeeded"]; if (succeeded == "false") { // server error. fail to login. SocialException exception = null; string errorCode = (string)queryParameters["kii_error_code"]; if ("UNAUTHORIZED" == errorCode) { exception = new OAuthException( "authorization credentials are rejected by provider"); } else { exception = new SocialException( "login failed with error: " + errorCode); } throw exception; } if (succeeded != "true") { // server error. invalid response. throw new SocialException("unknown kii_succeed: " + succeeded); } KiiUser retval = KiiUser.CreateByUri( new Uri(Utils.Path("kiicloud://", "users", GetNotEmptyString( queryParameters, "kii_user_id")))); Dictionary <string, object> dictionary = new Dictionary <string, object>() { { KiiUser.SocialResultParams.PROVIDER_USER_ID, GetNotEmptyString(queryParameters, "provider_user_id") }, { KiiUser.SocialResultParams.PROVIDER, this.provider }, { KiiUser.SocialResultParams.KII_NEW_USER, queryParameters["kii_new_user"] } }; // oauth_token and oauth_token_secret are optinal fields. if (queryParameters.ContainsKey("oauth_token")) { dictionary.Add(KiiUser.SocialResultParams.OAUTH_TOKEN, queryParameters["oauth_token"]); } if (queryParameters.ContainsKey("oauth_token_secret")) { dictionary.Add(KiiUser.SocialResultParams.OAUTH_TOKEN_SECRET, queryParameters["oauth_token_secret"]); } if (queryParameters.ContainsKey("kii_expires_in")) { dictionary.Add("kii_expires_in", queryParameters["kii_expires_in"]); } if (queryParameters.ContainsKey("oauth_token_expires_in")) { dictionary.Add("oauth_token_expires_in", queryParameters["oauth_token_expires_in"]); } _KiiInternalUtils.SetSocialAccessTokenDictionary(retval, dictionary); _KiiInternalUtils.SetCurrentUser(retval); _KiiInternalUtils.UpdateAccessToken(GetNotEmptyString( queryParameters, "kii_access_token")); return(retval); }