Advertisement
Guest User

Untitled

a guest
Aug 5th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. public async Task<IActionResult> AuthenticateUser(
  2. [FromBody] LoginInputModel model,
  3. [FromServices] AzureB2CUserService userService
  4. )
  5. {
  6. var context = new ResourceOwnerPasswordValidationContext { Password = model.Password, UserName = model.Username };
  7.  
  8. await userService.ValidateAsync(context);
  9.  
  10. if (context.Result.Subject != null)
  11. {
  12. AuthenticationProperties props = null;
  13. // only set explicit expiration here if persistent.
  14. // otherwise we reply upon expiration configured in cookie middleware.
  15. if (AccountOptions.AllowRememberLogin && model.RememberLogin)
  16. {
  17. props = new AuthenticationProperties
  18. {
  19. IsPersistent = true,
  20. ExpiresUtc = DateTimeOffset.UtcNow.Add(AccountOptions.RememberMeLoginDuration)
  21. };
  22. };
  23.  
  24. // issue authentication cookie with subject ID and username
  25. // var user = _users.FindByUsername(model.Username);
  26. await HttpContext.SignInAsync(context.Result.Subject.GetSubjectId(), model.Username, props, context.Result.Subject.Claims.ToArray());
  27.  
  28. return Ok(context.Result);
  29.  
  30. }
  31.  
  32. ModelState.AddModelError("", AccountOptions.InvalidCredentialsErrorMessage);
  33.  
  34. return BadRequest(ModelState);
  35.  
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement