예제 #1
0
        public async Task <ActionResult> RefreshToken([FromBody] RefreshTokenRequest request)
        {
            try
            {
                //var username = User.Identity?.Name;

                if (string.IsNullOrWhiteSpace(request.RefreshToken))
                {
                    return(Unauthorized());
                }

                var accessToken = await HttpContext.GetTokenAsync("Bearer", "access_token");

                var jwtResult = _jwtAuthManager.Refresh(request.RefreshToken, accessToken);
                return(Ok(new JwtAuthResult
                {
                    //Username = username,
                    AccessToken = jwtResult.AccessToken,
                    RefreshToken = jwtResult.RefreshToken
                }));
            }
            catch (SecurityTokenException e)
            {
                return(Unauthorized(e.Message));
            }
        }