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); }
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); }