Пример #1
0
        public GetAccessTokenResult GetAccessToken(RefreshToken refreshToken)
        {
            var output = new GetAccessTokenResult();
            var dto    = new RefreshTokenContainer();

            dto.Content = refreshToken.Content;
            var result = _endpoint
                         .AllowAnyHttpStatus()
                         .WithHeader("Accept-Version", "1.0")
                         .AppendPathSegment("api")
                         .AppendPathSegment("Rpc")
                         .AppendPathSegment("GetTokenUsingRefreshToken")
                         .PostJsonAsync(dto).Result;

            if (result.IsSuccessStatusCode)
            {
                output.Success = true;
                output.Token   = Newtonsoft.Json.JsonConvert.DeserializeObject <AccessToken>(result.Content.ReadAsStringAsync().Result);
                output.Error   = null;
            }
            else
            {
                output.Success = false;
                output.Error   = Newtonsoft.Json.JsonConvert.DeserializeObject <ErrorFromServer>(result.Content.ReadAsStringAsync().Result);
                output.Token   = null;
            }
            return(output);
        }
Пример #2
0
        public JsonResult GetTokenUsingRefreshToken([FromBody] RefreshTokenContainer refreshTokenContainer)
        {
            if (refreshTokenContainer != null)
            {
                var accessToken = _authenticationService.CreateAccessTokenFromRefreshToken(refreshTokenContainer.Content);
                if (accessToken != null)
                {
                    var accessTokenResult = new JsonResult(accessToken);
                    accessTokenResult.StatusCode = 200;
                    return(accessTokenResult);
                }
            }
            var result = new JsonResult(new ErrorFromServer("An incorrect refresh token was supplied."));

            result.StatusCode = 403;
            return(result);
        }