gpt4 book ai didi

c# - 在中间件.net core 2.0中获取访问 token

转载 作者:行者123 更新时间:2023-11-30 15:13:39 24 4
gpt4 key购买 nike

在 .net core 中完成一个身份验证过程后,我试图在我的中间件类中获取 access_token。

我正在使用此代码在我的 Controller 中获取我的 token

var accessToken = await HttpContext.GetTokenAsync("access_token");

但是当我想在身份验证部分之后调用的中间件上获取它时,方法 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);
}
}

我尝试了不同的方法,我一直在寻找答案,但我仍然没有解决办法。

我认为 HttpContext 类在中间件和 Controller 中是不同的,但我不知道如何在中间件中解决这个问题。

有人知道我怎样才能在中间件调用中访问 token ,或者是否有可能?

我的启动调用是这些,也许它也有用。

app.UseAuthentication();
app.UseHttpsRedirection();
app.UseMiddleware<Session>();
app.UseMvc();

最佳答案

using Microsoft.AspNetCore.Authentication; 添加到您的中间件文件。这是使用 GetTokenAsync 方法的 AuthenticationTokenExtensions 的命名空间。

关于c# - 在中间件.net core 2.0中获取访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57474800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com