public async Task <IActionResult> Authorize(string type, AuthorizeRequest request) { var result = await _tokenManager.Authorize(request); if (result == null) { return(GetErrorResponse(ErrorType.BadAuth, "")); } return(Json(result)); }
public async Task <AuthorizeResponseAuth> Authorize(AuthorizeRequest request) { if (!string.IsNullOrEmpty(request.RefreshToken)) { if (_memoryCache.TryGetValue <Token>(request.RefreshToken, out var auth)) { _memoryCache.Remove(request.RefreshToken); if (_memoryCache.TryGetValue(auth.AccessToken, out var auth2)) { _memoryCache.Remove(auth2); } var user = await _userManager.FindByIdAsync(auth.UserId); if (user == null) { return(null); } return(IssueAccessToken(user)); } return(null); } else { var user = await _userManager.FindByNameAsync(request.Login); if (user == null) { return(null); } var passCheck = await _userManager.CheckPasswordAsync(user, request.Password); if (passCheck) { return(IssueAccessToken(user)); } } return(null); }