public async Task <IActionResult> Login(string userAccessToken) { if (userAccessToken == string.Empty) { return(BadRequest()); } var appToken = await _facebookService.CreateAppAccessTokenAsync(_configuration["Facebook:AppID"], _configuration["Facebook:AppSecret"]); var userIsValid = await _facebookService.CheckTokenValidityAsync(userAccessToken, appToken); if (!userIsValid) { return(BadRequest()); } var userData = await _facebookService.GetUserDataAsync(userAccessToken); var userClaims = await _facebookService.Login(userData); var token = _tokenService.BuildToken(userClaims, DateTime.Now.AddDays(1)); return(Ok(new UserViewModel { Token = token, Username = userClaims.Email })); }