我使用 JWT 登錄,但如何退出?沒有令牌失效。我想用按鈕來做
[AllowAnonymous]
[Route("login")]
[HttpPost]
public IActionResult Login(LoginModel loginModel)
{
if (string.IsNullOrEmpty(loginModel.UserName) || string.IsNullOrEmpty(loginModel.Password))
{
return (RedirectToAction("Error"));
}
IActionResult response = Unauthorized();
var validUser = GetUser(loginModel);
if (validUser != null)
{
generatedToken = _tokenService.BuildToken(_config["Jwt:Key"].ToString(), _config["Jwt:Issuer"].ToString(),
validUser);
if (generatedToken != null)
{
HttpContext.Session.SetString("Token", generatedToken);
return RedirectToAction("MainWindow");
}
else
{
return (RedirectToAction("Error"));
}
}
else
{
return (RedirectToAction("Error"));
}
}
這是登錄功能 我怎樣才能退出?
uj5u.com熱心網友回復:
您可以將您的 cookie 作為保存在 cookie 中的 JWT 令牌洗掉,以便您必須閱讀它們然后洗掉它們。這是示例代碼
[AllowAnonymous]
[Route("logout")]
[HttpPost]
public IActionResult LogOut()
{
//Delete the Cookie from Browser.
Response.Cookies.Delete("Name");
return RedirectToAction("ActionMethodName");
}
uj5u.com熱心網友回復:
如果您將重繪 令牌存盤在資料庫中,只需在呼叫“注銷”端點時洗掉該用戶的重繪 令牌,客戶端應用程式應從存盤的任何位置清除存盤的 JWT 令牌,然后當客戶端呼叫“重繪 令牌”時" 端點它會在未經授權的情況下回傳。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/496916.html
上一篇:某些服務無法構建(驗證服務描述符時出錯'ServiceType:Restaurant.Data.IAppRepository
