public async Task <string> GetToken() { string AccessToken = String.Empty; using (var client = new HttpClient()) { client.BaseAddress = new Uri(endPoint); //Lấy AccessToken string urlPath = "api/token/gettoken"; var requestData = new ApiTokenRequest(); requestData.AccessKey = accessKey; requestData.SecretKey = secretKey; var json = Newtonsoft.Json.JsonConvert.SerializeObject(requestData); var data = new System.Net.Http.StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync(urlPath, data); string result = response.Content.ReadAsStringAsync().Result; ApiTokenResponse apiToken = JsonConvert.DeserializeObject <ApiTokenResponse>(result); AccessToken = apiToken.Token; } return(AccessToken); }
public async Task <IActionResult> Authenticate(UserLoginDto userLoginDto) { ApiTokenResponse response; var userLogin = _mapper.Map <UserLoginDto, UserLogin>(userLoginDto); var resultUserLogin = await _userLoginService.GetByCredentials(userLogin); userLogin = resultUserLogin.Value; if (resultUserLogin.Status == ResultStatus.Error) { response = new ApiTokenResponse { Title = nameof(HttpStatusCode.InternalServerError), Errors = resultUserLogin.Errors, Satatus = (int)HttpStatusCode.InternalServerError }; return(StatusCode(StatusCodes.Status500InternalServerError, response)); } if (userLogin == null) { response = new ApiTokenResponse { Title = nameof(HttpStatusCode.NotFound), Satatus = (int)HttpStatusCode.NotFound }; return(NotFound(response)); } response = new ApiTokenResponse { Token = _tokenService.GenerateToken(userLogin.User), Title = nameof(HttpStatusCode.OK), Satatus = (int)HttpStatusCode.OK }; return(Ok(response)); }
private async Task AddListItemAsync(HttpClient client, ApiTokenResponse tokenResponse, string listId, string description) { client.DefaultRequestHeaders.Remove("Authorization"); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {tokenResponse.AccessToken}"); var response = await client.PostAsJsonAsync("/api/v1/item", new { listId, description }); response.StatusCode.Should().Be(HttpStatusCode.OK); }
private async Task GetListItemsAsync(HttpClient client, ApiTokenResponse tokenResponse, string listId) { client.DefaultRequestHeaders.Remove("Authorization"); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {tokenResponse.AccessToken}"); var response = await client.GetAsync($"/api/v1/list/{listId}"); response.StatusCode.Should().Be(HttpStatusCode.OK); var listItemsResponse = await response.Content.ReadFromJsonAsync <ApiList>(); listItemsResponse.Should().NotBeNull(); listItemsResponse.Items.Should().HaveCount(2); listItemsResponse.Items.Select(x => x.Description).Should().BeEquivalentTo(new[] { "Test item 2", "Test item 3" }); }
private async Task <ApiListResponse> GetListsAsync(HttpClient client, ApiTokenResponse tokenResponse) { client.DefaultRequestHeaders.Remove("Authorization"); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {tokenResponse.AccessToken}"); var response = await client.GetAsync("/api/v1/list"); response.StatusCode.Should().Be(HttpStatusCode.OK); var listResponse = await response.Content.ReadFromJsonAsync <ApiListResponse>(); listResponse.Should().NotBeNull(); listResponse.Lists.Should().HaveCount(1); listResponse.Lists.Single().Name.Should().Be("Test list"); return(listResponse); }
public async Task <ApiTokenResponse> GetToken() { ApiTokenResponse result = null; var httpClient = new RestClient(_apiUrl); var request = GetTokenRequest(); _logger.WriteInformation("Getting Token"); try { IRestResponse <ApiTokenResponse> response = await httpClient.ExecuteTaskAsync <ApiTokenResponse>(request); if (response.IsSuccessful) { result = response.Data; } } catch (Exception ex) { _logger.WriteError("Error calling Token APi", ex); } _logger.WriteInformation("Received Token"); return(result); }
public async Task Connect() { ApiTokenResponse tokenresponse = await RequestApiToken(); ApiToken = tokenresponse.Token; }
public void AddToken(int mandatorId, ApiTokenResponse tokenResponse) { _cachedTokens[mandatorId] = tokenResponse; }