/// <summary> /// Logins the async. /// </summary> /// <returns>String</returns> /// <param name="loginViewModel">Login view model.</param> public async Task<User> LoginAsync (LoginViewModel loginViewModel) { client = clientFactory.CreateHttpClient (); HttpContent requestBody = new StringContent (string.Format ("grant_type=password&username={0}&password={1}", loginViewModel.Email, loginViewModel.Password)); HttpResponseMessage response = await client.PostAsync("Token", requestBody); if (response.IsSuccessStatusCode) { string jsonMessage; using (Stream responseStream = await response.Content.ReadAsStreamAsync ()) { jsonMessage = new StreamReader (responseStream).ReadToEnd (); } tokenResponse = (TokenModel)JsonConvert.DeserializeObject (jsonMessage, typeof(TokenModel)); User user = new User (); user = await GetUserByUserName(loginViewModel.Email); user.UserAccessToken = tokenResponse; return user; } else { return null; } }
private void CreateSecureHttpClient(TokenModel tokenModel) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue ("Bearer", tokenModel.AccessToken); }
public HttpClientFactory(TokenModel tokenModel) { CreateHttpClient (BASE_ADDRESS); CreateSecureHttpClient (tokenModel); }