C# .NET 5.0 MVC JWT 中间件授权标头
Posted
技术标签:
【中文标题】C# .NET 5.0 MVC JWT 中间件授权标头【英文标题】:C# .NET 5.0 MVC JWT Middleware authorization header 【发布时间】:2022-01-16 13:29:23 【问题描述】:问题是,当我通过 MVC 控制器 post 方法登录时,我获取 JWT 令牌并将其保存在 HttpContext 授权标头中,代码跳转到中间件,我可以在上下文中看到令牌,但很快由于调用函数调用 _next(context) 委托,因此没有更多的授权标头。我该如何解决这个问题?是否有一些好的做法如何将令牌从 mvc 控制器传递到中间件,以便我可以将帐户附加到上下文? 非常感谢
【问题讨论】:
【参考方案1】:将令牌存储在 HttpContext.Session 中解决了这个问题。不过还是谢谢。
【讨论】:
【参考方案2】:一个想法是您需要在此处将 SaveToken 设置为 true:
.AddOpenIdConnect(options =>
...
options.SaveTokens = true;
如果没有,您可以将我们的启动课程发布到问题中吗?
【讨论】:
以上是关于C# .NET 5.0 MVC JWT 中间件授权标头的主要内容,如果未能解决你的问题,请参考以下文章
C# ASP.NET Core 5.0 - 为啥在使用 [Authorization] 时甚至不调用该方法
如何使用.Net Core cookie中间件ticketdataformat将Jwt令牌从Api保存到c#中的cookie
JWT 不记名令牌授权应用于 .NET Core 中的现有 MVC Web 应用程序
NET Core 3.1 MVC 授权/身份验证,带有在单独的 Net Core 3.1 Web Api 中从外部获取的令牌 (JWT)