示例#1
0
        public JObject GetAccessTokenResponse(NameValueCollection securityParams)
        {
            string query = OAuthFunctions.WebRequest("POST", AccessTokenUrl, string.Format("client_id={1}&client_secret={3}&code={4}&redirect_uri={2}", "", ConsumerKey, HttpUtility.UrlEncode(CallbackUrl), ConsumerSecret, HttpUtility.UrlEncode(securityParams["verificationCode"])), null);

            if (query.Length > 0)
            {
                return(JObject.Parse(query));
            }

            return(null);
        }
示例#2
0
        public OAuthData ProcessLogin(HttpContextBase context)
        {
            if (!Enabled || context.Request.QueryString["error"] != null || OAuthFunctions.GetVerificationParameters(context) == null)
            {
                AuthenticationFailed();
            }

            CallbackUrl = OAuthFunctions.RemoveVerificationCodeFromUri(context);

            dynamic parameters = GetAccessTokenResponse(OAuthFunctions.GetVerificationParameters(context));

            if (string.IsNullOrEmpty((string)parameters.access_token))
            {
                AuthenticationFailed();
            }

            return(ParseUserProfileInformation(parameters));
        }