Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }