【发布时间】:2019-11-25 05:15:28
【问题描述】:
Microsoft Docs 只是有这样的描述:
定义成功授权后是否应将不记名令牌存储在AuthenticationProperties中。
我想知道保存 JWT 是否允许您以某种方式撤销它,但我读到的每个关于 JWT 的地方都说它们是不可撤销的。你会如何处理存储在 AuthenticationProperties 中的 JWT?
【问题讨论】:
标签: c# authentication asp.net-core jwt
Microsoft Docs 只是有这样的描述:
定义成功授权后是否应将不记名令牌存储在AuthenticationProperties中。
我想知道保存 JWT 是否允许您以某种方式撤销它,但我读到的每个关于 JWT 的地方都说它们是不可撤销的。你会如何处理存储在 AuthenticationProperties 中的 JWT?
【问题讨论】:
标签: c# authentication asp.net-core jwt
将 JWT 存储在 AuthenticationProperties 中允许您从应用程序的其他位置检索它。
例如,在动作中使用GetTokenAsync,如下所示:
public async Task<IActionResult> SomeAction()
{
// using Microsoft.AspNetCore.Authentication;
var accessToken = await HttpContext.GetTokenAsync("access_token");
// ...
}
这很有用,例如,如果您想在传出请求中转发 JWT。
【讨论】:
access_token 的名称源自 OAuth2(和 OIDC),尽管在 ASP.NET Core 的令牌处理中将其与 GetTokenAsync 一起使用是硬编码的。我觉得情况有点乱。我相信如果您知道自己在做什么(需要子类化,IIRC)但不值得努力,您可以自定义它。