void DenyRequestForAccess(string tokenString)
        {
            DevDefined.OAuth.Storage.Basic.RequestToken requestToken = RequestTokenRepository.GetToken(tokenString);

            requestToken.AccessDenied = true;

            RequestTokenRepository.SaveToken(requestToken);
        }
예제 #2
0
        void DenyRequestForAccess(string tokenString)
        {
            RequestToken requestToken = RequestTokenRepository.GetToken(tokenString);

            // fairly naieve approach to status codes, generally you would want to examine either the inner exception or the
            // problem report to determine an appropriate status code for your technology / architecture.

            requestToken.Verifier = UnguessableGenerator.GenerateUnguessable();

            requestToken.AccessDenied = true;

            RequestTokenRepository.SaveToken(requestToken);
        }
예제 #3
0
        void RedirectToClient(string tokenString, bool granted)
        {
            RequestToken requestToken = RequestTokenRepository.GetToken(tokenString);

            string callBackUrl = requestToken.CallbackUrl;
            string verifier    = requestToken.Verifier;

            if (!string.IsNullOrEmpty(callBackUrl))
            {
                if (!callBackUrl.Contains("?"))
                {
                    callBackUrl += "?";
                }
                else
                {
                    callBackUrl += "&";
                }

                callBackUrl += Parameters.OAuth_Token + "=" + UriUtility.UrlEncode(tokenString);
                callBackUrl += "&" + Parameters.OAuth_Verifier + "=" + UriUtility.UrlEncode(verifier);

                Response.Redirect(callBackUrl, true);
            }
            else
            {
                if (granted)
                {
                    string successMessage = string.Format(
                        "You have been successfully granted Access, To complete the process, please provide <I>{0}</I> with this verification code: <B>{1}</B>",
                        requestToken.ConsumerKey, HttpUtility.HtmlEncode(requestToken.Verifier));

                    Response.Write(successMessage);
                }
                else
                {
                    Response.Write("Denied");
                }

                Response.End();
            }
        }
        void ApproveRequestForAccess(string tokenString)
        {
            DevDefined.OAuth.Storage.Basic.RequestToken requestToken = RequestTokenRepository.GetToken(tokenString);

            var accessToken = new DevDefined.OAuth.Storage.Basic.AccessToken
            {
                ConsumerKey = requestToken.ConsumerKey,
                Realm       = requestToken.Realm,
                Token       = Guid.NewGuid().ToString(),
                TokenSecret = Guid.NewGuid().ToString(),
                UserName    = HttpContext.Current.User.Identity.Name,
                //ExpireyDate = DateTime.Now.AddMinutes(1),
                Roles = new string[] {}
            };

            AccessTokenRepository.SaveToken(accessToken);

            requestToken.AccessToken = accessToken;

            RequestTokenRepository.SaveToken(requestToken);
        }
예제 #5
0
        void ApproveRequestForAccess(string tokenString)
        {
            RequestToken requestToken = RequestTokenRepository.GetToken(tokenString);

            var accessToken = new AccessToken
            {
                ConsumerKey = requestToken.ConsumerKey,
                Realm       = requestToken.Realm,
                Token       = Guid.NewGuid().ToString(),
                TokenSecret = Guid.NewGuid().ToString(),
                UserName    = HttpContext.Current.User.Identity.Name,
                ExpireyDate = DateTime.Now.AddMinutes(1)
            };

            AccessTokenRepository.SaveToken(accessToken);

            requestToken.AccessToken = accessToken;

            requestToken.Verifier = UnguessableGenerator.GenerateUnguessable();

            RequestTokenRepository.SaveToken(requestToken);
        }