コード例 #1
0
        public async Task <ActionResult> RequestTokenAtLogin([FromBody] LoginCredentialsResource request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid Request"));
            }

            UserResource authorizedUser = await GetAuthorizedUserFromTokenRequest(request);

            if (authorizedUser != null)
            {
                string       refreshToken        = _tokenAuthService.GenerateRefreshToken();
                UserResource updatedUserResource = await _userService.SaveRefreshToken(authorizedUser.Id, refreshToken);

                string accessToken = _tokenAuthService.CreateAccessTokenForValidUserResource(updatedUserResource);
                object result      = new { accessToken, refreshToken };
                return(new ObjectResult(result));
            }

            return(Unauthorized("Invalid Credentials"));
        }