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