Exemplo n.º 1
0
        /**
         * AUTO_GENERATED
         */
        public GetAccessTokenResponse GetAccessToken(GetAccessTokenRequest getAccessTokenRequest, string apiUserName)
        {
            string  response = Call("GetAccessToken", getAccessTokenRequest.ToNVPString(""), apiUserName);
            NVPUtil util     = new NVPUtil();

            return(GetAccessTokenResponse.CreateInstance(util.ParseNVPString(response), "", -1));
        }
Exemplo n.º 2
0
        private void GetAccessToken(HttpContext context)
        {
            GetAccessTokenRequest gat = new GetAccessTokenRequest();

            String token    = context.Request.Params["txtrequest_token"];
            String verifier = context.Request.Params["txtverification_code"];

            gat.token    = token;
            gat.verifier = verifier;


            gat.requestEnvelope = new RequestEnvelope("en_US");
            GetAccessTokenResponse gats = null;

            try
            {
                PermissionsService service = new PermissionsService();
                gats = service.GetAccessToken(gat);
                context.Response.Write("<html><body><textarea rows=30 cols=80>");
                ObjectDumper.Write(gats, 5, context.Response.Output);
                context.Response.Write("</textarea></body></html>");
            }
            catch (System.Exception e)
            {
                context.Response.Write(e.Message);
            }
        }
Exemplo n.º 3
0
        /**
         *
         */
        public GetAccessTokenResponse GetAccessToken(GetAccessTokenRequest GetAccessTokenRequest, string apiUsername)
        {
            string  resp = call("GetAccessToken", GetAccessTokenRequest.toNVPString(""), apiUsername);
            NVPUtil util = new NVPUtil();

            return(new GetAccessTokenResponse(util.parseNVPString(resp), ""));
        }
Exemplo n.º 4
0
        public ApiToken GetAccessToken(GetAccessTokenRequest tokenRequest)
        {
            ApiToken _token = new ApiToken();

            try
            {
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(ConstantData.ApiURL.ToString() + "api/token");
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    var body = new List <KeyValuePair <string, string> >
                    {
                        new KeyValuePair <string, string>("grant_type", "client_credentials"),
                        new KeyValuePair <string, string>("client_id", tokenRequest.client_id),
                        new KeyValuePair <string, string>("client_secret", tokenRequest.client_secret)
                    };
                    var content  = new FormUrlEncodedContent(body);
                    var response = client.PostAsync(client.BaseAddress, content).Result;
                    if (response.IsSuccessStatusCode)
                    {
                        var responseStream = response.Content.ReadAsStringAsync().Result;
                        _token = JsonConvert.DeserializeObject <ApiToken>(responseStream);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(_token);
        }
Exemplo n.º 5
0
        public GetAccessTokenResponse GetAccessToken(GetAccessTokenRequest request)
        {
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            Dictionary <string, string> headers = new Dictionary <string, string>()
            {
            };

            return(GetAccessTokenWithOptions(request, headers, runtime));
        }
Exemplo n.º 6
0
        public async Task <GetAccessTokenResponse> GetAccessTokenAsync(GetAccessTokenRequest request)
        {
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            Dictionary <string, string> headers = new Dictionary <string, string>()
            {
            };

            return(await GetAccessTokenWithOptionsAsync(request, headers, runtime));
        }
Exemplo n.º 7
0
 public Authenticate Token(GetAccessTokenRequest request)
 {
     //return request.ClientId + request.ClientSecret + request.GrantType;
     return(new Authenticate
     {
         AccessToken = "AccessToken",
         ExpiresIn = 7200,
         Openeid = "Openeid",
         RefreshToken = "RefreshToken",
         Username = "******"
     });
 }
        public async Task GivenRequest_CallTheTokenReaderWithTheToken(string token)
        {
            GetAccessTokenRequest request = new GetAccessTokenRequest
            {
                Token = token
            };

            await _classUnderTest.ExecuteAsync(request, CancellationToken.None);

            _tokenReaderSpy.Verify(e =>
                                   e.ReadAsync(It.Is <string>(s => s.Equals(token)), It.IsAny <CancellationToken>()));
        }
Exemplo n.º 9
0
        /// <summary>
        ///
        /// </summary>
        ///<param name="getAccessTokenRequest"></param>
        ///<param name="apiUserName">API Username that you want to authenticate this call against. This username and the corresponding 3-token/certificate credentials must be available in Web.Config/App.Config</param>
        public GetAccessTokenResponse GetAccessToken(GetAccessTokenRequest getAccessTokenRequest, string apiUserName)
        {
            IAPICallPreHandler apiCallPreHandler = new PlatformAPICallPreHandler(this.config, getAccessTokenRequest.ToNVPString(string.Empty), ServiceName, "GetAccessToken", apiUserName, getAccessToken(), getAccessTokenSecret());

            ((PlatformAPICallPreHandler)apiCallPreHandler).SDKName    = SDKName;
            ((PlatformAPICallPreHandler)apiCallPreHandler).SDKVersion = SDKVersion;
            ((PlatformAPICallPreHandler)apiCallPreHandler).PortName   = "Permissions";

            NVPUtil util = new NVPUtil();

            return(GetAccessTokenResponse.CreateInstance(util.ParseNVPString(Call(apiCallPreHandler)), string.Empty, -1));
        }
        public async Task GivenRequestMatchingToken_WhenTokenHasExpired_ReturnUnauthorised(string token)
        {
            StubTokenReaderWithExpiredToken(token);

            GetAccessTokenRequest request = new GetAccessTokenRequest
            {
                Token = token
            };

            GetAccessTokenResponse response = await _classUnderTest.ExecuteAsync(request, CancellationToken.None);

            response.Authorised.Should().BeFalse();
        }
Exemplo n.º 11
0
 public async Task <ResponseBase> GetAccessToken([FromBody] GetAccessTokenRequest request)
 {
     try
     {
         var action = new GetAccessTokenAction(_sysUserBll, _sysUserRoleBll, _sysUserLogBll);
         return(await action.ProcessAction(this.HttpContext, request));
     }
     catch (Exception ex)
     {
         Log.Error(request, ex, this.GetType());
         return(ResponseBase.CodeError());
     }
 }
        public async Task GivenRequestMatchingToken_WhenTokenHasNotExpired_ReturnAuthorised(string token)
        {
            StubTokenReaderWithValidToken(token, "*****@*****.**");
            StubAccessTokenCreator("token");

            GetAccessTokenRequest request = new GetAccessTokenRequest
            {
                Token = token
            };

            GetAccessTokenResponse response = await _classUnderTest.ExecuteAsync(request, CancellationToken.None);

            response.Authorised.Should().BeTrue();
        }
        public async Task GivenRequestMatchingToken_WhenTokenIsValid_ReturnCreatedAccessToken(string createdToken)
        {
            StubTokenReaderWithValidToken("token", "*****@*****.**");
            StubAccessTokenCreator(createdToken);

            GetAccessTokenRequest request = new GetAccessTokenRequest
            {
                Token = "token"
            };

            GetAccessTokenResponse response = await _classUnderTest.ExecuteAsync(request, CancellationToken.None);

            response.AccessToken.Should().BeEquivalentTo(createdToken);
        }
        public async Task GivenRequestWithNoneMatchingToken_ReturnUnauthorised(string token)
        {
            _tokenReaderSpy.Setup(e => e.ReadAsync(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync((IAuthenticationToken)null);

            GetAccessTokenRequest request = new GetAccessTokenRequest
            {
                Token = token
            };

            GetAccessTokenResponse response = await _classUnderTest.ExecuteAsync(request, CancellationToken.None);

            response.Authorised.Should().BeFalse();
        }
Exemplo n.º 15
0
        /// <summary>
        /// Gets the access token.
        /// </summary>
        /// <param name="requestToken">The request token.</param>
        /// <param name="verificationCode">The verification code.</param>
        /// <returns></returns>
        public Task <GetAccessTokenResponse> GetAccessToken(string requestToken, string verificationCode)
        {
            //Permissions SDK
            return(Task.Run(() => {
                GetAccessTokenRequest getAccessToken = new GetAccessTokenRequest {
                    token = requestToken,
                    verifier = verificationCode
                };

                var permissionsService = new PermissionsService(Config.ToDictionary());

                var getAccessTokenResponse = permissionsService.GetAccessToken(getAccessToken);
                return getAccessTokenResponse;
            }));
        }
        public async Task GivenRequestMatchingToken_WhenTokenIsValid_DeleteToken(string token)
        {
            StubTokenReaderWithValidToken(token, "*****@*****.**");
            StubAccessTokenCreator("fake token");

            GetAccessTokenRequest request = new GetAccessTokenRequest
            {
                Token = token
            };

            await _classUnderTest.ExecuteAsync(request, CancellationToken.None);

            _tokenDeleterSpy.Verify(v =>
                                    v.DeleteAsync(It.Is <string>(s => s.Equals(token)), It.IsAny <CancellationToken>()));
        }
Exemplo n.º 17
0
        public async Task <GetAccessTokenResponse> ExecuteAsync(GetAccessTokenRequest tokenRequest,
                                                                CancellationToken cancellationToken)
        {
            IAuthenticationToken token = await _tokenReader.ReadAsync(tokenRequest.Token, cancellationToken);

            if (NoMatchingTokenIsFound(token) || TokenHasExpired(token))
            {
                return(UnauthorisedResponse());
            }

            IAccessToken accessToken = await _accessTokenCreator.CreateAsync(token.EmailAddress, cancellationToken);

            await _tokenDeleter.DeleteAsync(tokenRequest.Token, cancellationToken);

            return(AuthorisedResponse(accessToken));
        }
        public async Task GivenRequestMatchingToken_WhenTokenIsValid_CreateAccessTokenForEmail(string token,
                                                                                               string email)
        {
            StubTokenReaderWithValidToken(token, email);
            StubAccessTokenCreator("token");

            GetAccessTokenRequest request = new GetAccessTokenRequest
            {
                Token = token
            };

            await _classUnderTest.ExecuteAsync(request, CancellationToken.None);

            _accessTokenCreatorSpy.Verify(e =>
                                          e.CreateAsync(It.Is <string>(s => s.Equals(email)), It.IsAny <CancellationToken>()));
        }
Exemplo n.º 19
0
        public async Task <GetAccessTokenResponse> GetAccessToken([FromBody] GetAccessTokenRequest request)
        {
            var user = await _userRepository.GetByLoginAndPasswordAsync(request.Login, request.Password);

            if (user == null)
            {
                return new GetAccessTokenResponse()
                       {
                           IsSuccess = false, Message = "Проверьте правильность ввода логина и пароля"
                       }
            }
            ;

            return(new GetAccessTokenResponse()
            {
                IsSuccess = true, AccessToken = user.User.AccessToken
            });
        }
    }
Exemplo n.º 20
0
        private PayPalPermissionsGranted GetAccessTokenInternal(string requestToken, string verificationCode)
        {
            var getAccessTokenRequest = new GetAccessTokenRequest
            {
                requestEnvelope = GetRequestEnvelope(),
                token           = requestToken,
                verifier        = verificationCode
            };

            var per = InternalCreateService();

            var response = per.getAccessToken(getAccessTokenRequest);

            if (per.isSuccess.ToUpper() == "FAILURE")
            {
                if (per.LastError != null && per.LastError.ErrorDetails != null && per.LastError.ErrorDetails.Length > 0)
                {
                    _log.ErrorFormat("failed to get access token for {5} {6}. category {0} domain {1} errorId {2} message {3} severity {4}",
                                     per.LastError.ErrorDetails[0].category,
                                     per.LastError.ErrorDetails[0].domain,
                                     per.LastError.ErrorDetails[0].errorId,
                                     per.LastError.ErrorDetails[0].message,
                                     per.LastError.ErrorDetails[0].severity, requestToken, verificationCode);
                }
                else
                {
                    _log.ErrorFormat("failed to get access token for {0} {1}. response {2}",
                                     requestToken, verificationCode, per.LastResponse);
                }
                throw new PayPalException(new [] { new FaultDetailFaultMessageError {
                                                       message = "Get access token failed"
                                                   } });
            }

            return(new PayPalPermissionsGranted
            {
                AccessToken = response.token,
                TokenSecret = response.tokenSecret,
                RequestToken = requestToken,
                VerificationCode = verificationCode,
            });
        }
Exemplo n.º 21
0
        public async Task GivenUserIsAuthorised_AndTheyGetAOneTimeUseToken_TheyCanOnlyGetAnApiKeyOnce()
        {
            using (ATransaction())
            {
                var notifyRequest = await RequestAccessToApplication();

                string token = GetTokenFromNotifyRequest(notifyRequest);

                GetAccessTokenRequest tokenRequest = new GetAccessTokenRequest
                {
                    Token = token
                };

                await _getAccessToken.ExecuteAsync(tokenRequest, CancellationToken.None);

                GetAccessTokenResponse response =
                    await _getAccessToken.ExecuteAsync(tokenRequest, CancellationToken.None);

                response.Should().NotBeNull();
                response.Authorised.Should().BeFalse();
            }
        }
Exemplo n.º 22
0
        public async Task <GetAccessTokenResponse> GetAccessTokenWithOptionsAsync(GetAccessTokenRequest request, Dictionary <string, string> headers, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime)
        {
            AlibabaCloud.TeaUtil.Common.ValidateModel(request);
            Dictionary <string, object> body = new Dictionary <string, object>()
            {
            };

            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.AppKey))
            {
                body["appKey"] = request.AppKey;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.AppSecret))
            {
                body["appSecret"] = request.AppSecret;
            }
            AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest
            {
                Headers = headers,
                Body    = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body),
            };
            return(TeaModel.ToObject <GetAccessTokenResponse>(await DoROARequestAsync("GetAccessToken", "oauth2_1.0", "HTTP", "POST", "AK", "/v1.0/oauth2/accessToken", "json", req, runtime)));
        }
Exemplo n.º 23
0
        public async Task GivenUserIsAuthorised_AndTheyGetAOneTimeUseToken_TheyCanGetAnApiKeyWithTheirToken()
        {
            using (ATransaction())
            {
                var notifyRequest = await RequestAccessToApplication();

                string token = GetTokenFromNotifyRequest(notifyRequest);

                GetAccessTokenRequest tokenRequest = new GetAccessTokenRequest
                {
                    Token = token
                };

                GetAccessTokenResponse response =
                    await _getAccessToken.ExecuteAsync(tokenRequest, CancellationToken.None);

                string tokenEmail = GetEmailFromAccessToken(response.AccessToken);

                response.Should().NotBeNull();
                response.AccessToken.Should().NotBeNull();
                tokenEmail.Should().BeEquivalentTo("*****@*****.**");
            }
        }
Exemplo n.º 24
0
        public async Task <GetAccessTokenResponse> GetNewAccessTokenAsync(GetAccessTokenRequest request)
        {
            _logger.LogDebug($"Attempting to get access token using authToken: {request.RefreshToken}. Rerum api url: {_url}.");
            var rt = new GetAccessTokenResponse {
                IsSuccess = true
            };

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders
                .Accept
                .Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var response = await client.PostAsJsonAsync($@"{_url}/api/accessToken.action", new { refresh_token = request.RefreshToken });

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    _logger.LogDebug($"Access token retrieved successful.");
                    var respString = await response.Content.ReadAsStringAsync();

                    dynamic obj = JsonConvert.DeserializeObject <dynamic>(respString);
                    rt.AccessToken = obj.access_token;
                    rt.IdToken     = obj.id_token;

                    return(rt);
                }
                else
                {
                    var message = $"An error occurred retrieving access token from Rerum. Status Code: {response.StatusCode}, Error: {response.ReasonPhrase}.";
                    _logger.LogError(message);
                    rt.IsSuccess = false;
                    rt.Message   = message;
                }
            }
            return(rt);
        }
Exemplo n.º 25
0
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <param name="httpContext"></param>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ResponseBase> ProcessAction(HttpContext httpContext, GetAccessTokenRequest request)
        {
            var response = new ResponseBase();

            if (string.IsNullOrEmpty(request.AppId) || string.IsNullOrEmpty(request.Secret))
            {
                return(response.GetResponseBadRequest());
            }
            if (!await CheckUserLoginFailedRecord(request.AppId))
            {
                return(response.GetResponseError(StatusCode.Login20003, "登录失败次数超过限制"));
            }
            var pwd  = CryptogramHelper.Encrypt3DES(request.Secret);
            var user = await _sysUserBll.GetSysUser(request.AppId, pwd);

            if (user == null)
            {
                await _sysUserBll.AddUserLoginFailedRecord(request.AppId, SystemConfig.UserLoginConfig.LoginFailedMaxCount, SystemConfig.UserLoginConfig.LoginFailedTimeOut);

                return(response.GetResponseError(StatusCode.Login20001, "帐号或密码错误"));
            }
            if (user.StatusFlag == (int)UserStatusFlagEnum.Disable)
            {
                return(response.GetResponseError(StatusCode.Login20002, "帐号被禁用"));
            }
            var accessToken = GetAccessTokenResponse(user);
            var userRole    = await _sysUserRoleBll.GetSysUserRole(user.UserRoleId);

            AppTicket.SetAppTicket(httpContext, user, userRole);
            await _sysUserBll.UpdateUserLastLoginTime(user.UserId, DateTime.Now);

            await _sysUserBll.RemoveUserLoginFailedRecord(request.AppId);

            AddUserLoginLog(user);
            return(response.GetResponseSuccess(accessToken));
        }
Exemplo n.º 26
0
 public ApiToken GetAccessToken(GetAccessTokenRequest tokenRequest)
 {
     return(loginservice.GetAccessToken(tokenRequest));
 }
Exemplo n.º 27
0
        private void GetAccessToken(HttpContext context)
        {
            GetAccessTokenRequest gat = new GetAccessTokenRequest();

            // (Required) The request token from the response to RequestPermissions.
            string token = context.Request.Params["txtrequest_token"];

            // (Required) The verification code returned in the redirect from PayPal to the return URL.
            string verifier = context.Request.Params["txtverification_code"];

            gat.token    = token;
            gat.verifier = verifier;

            // (Required) RFC 3066 language in which error messages are returned;
            // by default it is en_US, which is the only language currently supported.
            gat.requestEnvelope = new RequestEnvelope("en_US");
            GetAccessTokenResponse gats = null;

            try
            {
                // ## Creating service wrapper object
                // Creating service wrapper object to make API call
                // Configuration map containing signature credentials and other required configuration.
                // For a full list of configuration parameters refer in wiki page
                // [https://github.com/paypal/sdk-core-dotnet/wiki/SDK-Configuration-Parameters]
                PermissionsService service = new PermissionsService(Configuration.GetAcctAndConfig());

                gats = service.GetAccessToken(gat);
                context.Response.Write("<html><body><textarea rows=30 cols=80>");
                ObjectDumper.Write(gats, 5, context.Response.Output);
                context.Response.Write("</textarea></br>");

                //Selenium Test Case
                context.Response.Write("</br>Acknowledgement: ");
                context.Response.Write("<div id = '");
                context.Response.Write("Acknowledgement");
                context.Response.Write("'>");
                context.Response.Write(gats.responseEnvelope.ack);
                context.Response.Write("</div>");

                context.Response.Write("</br>Request token: ");
                context.Response.Write("<div id = '");
                context.Response.Write("Request token");
                context.Response.Write("'>");
                context.Response.Write(context.Request.Params["txtrequest_token"]);
                context.Response.Write("</div>");

                context.Response.Write("</br>Verification code: ");
                context.Response.Write("<div id = '");
                context.Response.Write("Verification code");
                context.Response.Write("'>");
                context.Response.Write(context.Request.Params["txtverification_code"]);
                context.Response.Write("</div>");

                context.Response.Write("</br>token: ");
                context.Response.Write("<div id = '");
                context.Response.Write("token");
                context.Response.Write("'>");
                context.Response.Write(gats.token);
                context.Response.Write("</div>");

                context.Response.Write("</br>tokenSecret: ");
                context.Response.Write("<div id = '");
                context.Response.Write("tokenSecret");
                context.Response.Write("'>");
                context.Response.Write(gats.tokenSecret);
                context.Response.Write("</div>");
            }
            catch (System.Exception e)
            {
                context.Response.Write(e.Message);
            }
        }
Exemplo n.º 28
0
 public async Task <GetAccessTokenResponse> GetAccessToken(GetAccessTokenRequest request)
 => await ExecutePostAsync <GetAccessTokenResponse, GetAccessTokenRequest>("/authorization/get-access-token", request);
Exemplo n.º 29
0
 public GetAccessTokenResponse GetAccessToken(GetAccessTokenRequest GetAccessTokenRequest)
 {
     return(GetAccessToken(GetAccessTokenRequest, null));
 }
Exemplo n.º 30
0
        private void getAndSaveClientSecrets()
        {
            GetClientSecretTokenRequest getClientSecretTokenRequest = new GetClientSecretTokenRequest();

            getClientSecretTokenRequest.ClientId = Constants.ClientId;
            ApiController apiController = new ApiController();
            GetClientSecretTokenResponse clientSecretTokenResponse = null;

            try
            {
                clientSecretTokenResponse = apiController.GetClientSecretToken(getClientSecretTokenRequest);
            }
            catch (Exception ex)
            {
                PopupNavigation.Instance.PushAsync(new Error_popup(ex.Message));
            }
            if (clientSecretTokenResponse != null)
            {
                GetAccessTokenRequest tokenRequest = new GetAccessTokenRequest();
                tokenRequest.client_id     = clientSecretTokenResponse.apiConsumerId;
                tokenRequest.client_secret = clientSecretTokenResponse.apiConsumerSecret;
                tokenRequest.grant_type    = "client_credentials";

                try
                {
                    apiToken = apiController.GetAccessToken(tokenRequest);
                }
                catch (Exception ex)
                {
                    apiToken = null;
                }
                if (apiToken != null)
                {
                    _token = apiToken.access_token;
                    CommonController commonController = new CommonController();

                    try
                    {
                        getClientDetailsForMobile = commonController.GetClientDetailsForMobile(_token);
                    }
                    catch (Exception ex)
                    {
                        PopupNavigation.Instance.PushAsync(new Error_popup(ex.Message));
                    }


                    if (getClientDetailsForMobile != null)
                    {
                        if (getClientDetailsForMobile.admin != null)
                        {
                            Constants.admin = getClientDetailsForMobile.admin;
                        }
                    }

                    if (App.Current.Properties.ContainsKey("currentToken"))
                    {
                        App.Current.Properties["currentToken"] = _token;
                    }
                    else
                    {
                        App.Current.Properties.Add("currentToken", _token);
                    }
                }
            }
        }