gpt4 book ai didi

asp.net-web-api - 在 WebAPI 中的查询字符串中传递并验证 OWIN Bearer token

转载 作者:行者123 更新时间:2023-12-02 19:41:02 25 4
gpt4 key购买 nike

简短版本:我需要将 OWIN 承载 token 作为查询参数而不是在请求 header 中传递和验证。

然后我如何根据该 token 字符串获得授权方法?

背景:我想调用 webapi 方法以流的形式下载文件(并且不希望用户从已知的文件位置下载它)。

如果我还需要设置自定义请求 header (即不记名 token ),我将无法使其工作。

我应该能够在查询字符串中传递 token - 但不知道如何获取该 token 来对用户进行身份验证。

我需要过滤吗?我需要特殊 claim 等吗?webapi方法是否需要包含“access_token”作为函数参数之一?

最佳答案

为了完整起见,here's另一个巧妙的解决方案。

摘录:

app.Use(async (context, next) =>
{
if (context.Request.QueryString.HasValue)
{
if (string.IsNullOrWhiteSpace(context.Request.Headers.Get("Authorization")))
{
var queryString = HttpUtility.ParseQueryString(context.Request.QueryString.Value);
string token = queryString.Get("access_token");

if (!string.IsNullOrWhiteSpace(token))
{
context.Request.Headers.Add("Authorization", new[] { string.Format("Bearer {0}", token) });
}
}
}

await next.Invoke();
});

关于asp.net-web-api - 在 WebAPI 中的查询字符串中传递并验证 OWIN Bearer token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21925367/

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