Exemplo n.º 1
0
        public IConsumerRequest BuildRequestTokenContext(string method)
        {
            var consumerRequest = ConsumerRequestExtensions.ForMethod(Request(), method);
            var alterContext    = ConsumerRequestExtensions.AlterContext(consumerRequest, context => context.CallbackUrl = (CallbackUri == null) ? "oob" : CallbackUri.ToString());
            var request1        = ConsumerRequestExtensions.AlterContext(alterContext, context => context.Token = null);
            var request         = ConsumerRequestExtensions.ForUri(request1, RequestTokenUri);

            return(request
                   .SignWithoutToken());
        }
Exemplo n.º 2
0
        public IToken ExchangeRequestTokenForAccessToken(IToken requestToken, string verificationCode)
        {
            TokenBase token = ConsumerRequestExtensions.Select(BuildExchangeRequestTokenForAccessTokenContext(requestToken, "GET", verificationCode), collection =>
                                                               new TokenBase
            {
                ConsumerKey = requestToken.ConsumerKey,
                Token       =
                    ParseResponseParameter(collection,
                                           Parameters.
                                           OAuth_Token),
                TokenSecret =
                    ParseResponseParameter(collection,
                                           Parameters.
                                           OAuth_Token_Secret)
            });

            AccessToken = token;

            return(token);
        }
Exemplo n.º 3
0
        public IToken GetRequestToken(string method)
        {
            var results = ConsumerRequestExtensions.Select(BuildRequestTokenContext(method), collection =>
                                                           new
            {
                ConsumerContext.ConsumerKey,
                Token            = ParseResponseParameter(collection, Parameters.OAuth_Token),
                TokenSecret      = ParseResponseParameter(collection, Parameters.OAuth_Token_Secret),
                CallackConfirmed = WasCallbackConfimed(collection)
            });

            if (!results.CallackConfirmed && CallbackMustBeConfirmed)
            {
                throw Error.CallbackWasNotConfirmed();
            }

            return(new TokenBase
            {
                ConsumerKey = results.ConsumerKey,
                Token = results.Token,
                TokenSecret = results.TokenSecret
            });
        }
Exemplo n.º 4
0
 public IConsumerRequest BuildExchangeRequestTokenForAccessTokenContext(IToken requestToken, string method, string verificationCode)
 {
     return(ConsumerRequestExtensions.ForUri(ConsumerRequestExtensions.AlterContext(ConsumerRequestExtensions.ForMethod(Request(), method), context => context.Verifier = verificationCode), AccessTokenUri)
            .SignWithToken(requestToken));
 }