Mr.*_*eer 5 c# authentication asp.net-mvc .net-core asp.net-core
在 .net 核心中的一个身份验证过程之后,我试图在我的中间件类中获取 access_token。
我正在使用此代码在我的控制器中获取我的令牌
var accessToken = await HttpContext.GetTokenAsync("access_token");
Run Code Online (Sandbox Code Playgroud)
但是,当我想在身份验证部分之后调用的中间件上获取它时GetTokenAsync,HttpContext 不存在该方法。
我的中间件类是这个
public class Session
{
private readonly RequestDelegate _next;
public Session(RequestDelegate next)
{
_next = next;
}
public async Task InvokeAsync(HttpContext httpContext)
{
var accessToken = // here I want to get my token
await _next(httpContext);
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的方法,我一直在寻找答案,但我仍然没有解决方案。
我认为中间件和控制器中的 HttpContext 类是不同的,但我不知道如何在中间件中解决这个问题。
有人知道如何在中间件调用中访问令牌,或者甚至可能吗?
我的启动电话是这些,也许它也很有用。
app.UseAuthentication();
app.UseHttpsRedirection();
app.UseMiddleware<Session>();
app.UseMvc();
Run Code Online (Sandbox Code Playgroud)
添加using Microsoft.AspNetCore.Authentication;到您的中间件文件。这是的命名空间AuthenticationTokenExtensions与GetTokenAsync方法。
| 归档时间: |
|
| 查看次数: |
1924 次 |
| 最近记录: |