Esempio n. 1
0
        public async Task <ITwitterResult <ITwitterCredentials> > RequestCredentials(IRequestCredentialsParameters parameters, ITwitterRequest request)
        {
            var twitterResult = await _authQueryExecutor.RequestCredentials(parameters, request).ConfigureAwait(false);

            var oAuthToken       = twitterResult.RawResult.GetURLParameter("oauth_token");
            var oAuthTokenSecret = twitterResult.RawResult.GetURLParameter("oauth_token_secret");

            if (oAuthToken == null || oAuthTokenSecret == null)
            {
                throw new TwitterAuthException(twitterResult, "Invalid authentication response");
            }

            var credentials = new TwitterCredentials(
                parameters.AuthRequest.ConsumerKey,
                parameters.AuthRequest.ConsumerSecret,
                oAuthToken,
                oAuthTokenSecret);

            return(new TwitterResult <ITwitterCredentials>
            {
                Request = twitterResult.Request,
                Response = twitterResult.Response,
                DataTransferObject = credentials
            });
        }
Esempio n. 2
0
        public string GetRequestCredentialsQuery(IRequestCredentialsParameters parameters)
        {
            var query = new StringBuilder(Resources.Auth_RequestAccessToken);

            query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters);
            return(query.ToString());
        }
Esempio n. 3
0
        public Task <ITwitterResult> RequestCredentialsAsync(IRequestCredentialsParameters parameters, ITwitterRequest request)
        {
            var oAuthWebRequestGenerator = _oAuthWebRequestGeneratorFactory.Create();
            var callbackParameter        = oAuthWebRequestGenerator.GenerateParameter("oauth_verifier", parameters.VerifierCode, true, true, false);

            request.Query.Url                = _queryGenerator.GetRequestCredentialsQuery(parameters);
            request.Query.HttpMethod         = HttpMethod.POST;
            request.Query.TwitterCredentials = new TwitterCredentials(parameters.AuthRequest.ConsumerKey, parameters.AuthRequest.ConsumerSecret);
            request.TwitterClientHandler     = new AuthHttpHandler(callbackParameter, parameters.AuthRequest, oAuthWebRequestGenerator);
            return(_twitterAccessor.ExecuteRequestAsync(request));
        }
Esempio n. 4
0
        public void Validate(IRequestCredentialsParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            if (string.IsNullOrEmpty(parameters.VerifierCode))
            {
                throw new ArgumentNullException($"{nameof(parameters.VerifierCode)}", "If you received a null verifier code, the authentication failed");
            }

            if (parameters.AuthRequest == null)
            {
                throw new ArgumentNullException($"{nameof(parameters.AuthRequest)}");
            }

            ThrowIfInvalidConsumerCredentials($"{nameof(parameters.AuthRequest)}", parameters.AuthRequest);
        }
Esempio n. 5
0
 public void Validate(IRequestCredentialsParameters parameters)
 {
     _authClientParametersValidator.Validate(parameters);
 }
Esempio n. 6
0
        public async Task <ITwitterCredentials> RequestCredentialsAsync(IRequestCredentialsParameters parameters)
        {
            var twitterResult = await _authRequester.RequestCredentialsAsync(parameters).ConfigureAwait(false);

            return(twitterResult?.Model);
        }
Esempio n. 7
0
        public async Task <ITwitterCredentials> RequestCredentials(IRequestCredentialsParameters parameters)
        {
            var twitterResult = await _authRequester.RequestCredentials(parameters).ConfigureAwait(false);

            return(twitterResult?.DataTransferObject);
        }
Esempio n. 8
0
 public Task <ITwitterResult <ITwitterCredentials> > RequestCredentials(IRequestCredentialsParameters parameters)
 {
     _validator.Validate(parameters);
     return(ExecuteRequest(request => _authController.RequestCredentials(parameters, request)));
 }