/// <summary>
        /// 获取 Token
        /// </summary>
        /// <param name="request"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        public bool IsAuthenticated(DTOLoginRequest request, out string token)
        {
            token = string.Empty;
            if (request.Username != "admin" || request.Password != "123456")
            {
                return(false);
            }
            request.UserId = 1;

            var claims = new[]
            {
                new Claim(ClaimTypes.Name, request.Username),
                new Claim(ClaimTypes.NameIdentifier, request.UserId.ToString())
            };

            var key         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_tokenManagement.Secret));
            var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            var jwtToken    = new JwtSecurityToken(
                _tokenManagement.Issuer,
                _tokenManagement.Audience, claims,
                expires: DateTime.Now.AddMinutes(_tokenManagement.AccessExpiration),
                signingCredentials: credentials
                );

            token = new JwtSecurityTokenHandler().WriteToken(jwtToken);
            RedisHelper.Set(RedisPrefix.User_Login_Token_Key.GetKey(request.UserId), token, _tokenManagement.AccessExpiration * 60);
            return(true);
        }
 public ActionResult RequestToken(DTOLoginRequest request)
 {
     if (_authService.IsAuthenticated(request, out string token))
     {
         return(Ok("Bearer " + token));
     }
     return(BadRequest("Invalid Request"));
 }
        public HttpResponseMessage login([FromBody] DTOLoginRequest loginRequest)
        {
            DTOLoginResponse response = UserService.Login(loginRequest.loginName, loginRequest.password);

            return(Request.CreateResponse(HttpStatusCode.Created, response));
        }