gpt4 book ai didi

c# - 修改 OWIN OAuth 中间件以使用 JWT 不记名 token

转载 作者:可可西里 更新时间:2023-11-01 09:10:07 25 4
gpt4 key购买 nike

我目前正在尝试使用以下技术的组合为新应用创建基于声明的身份验证的概念证明:Web API 2、OWIN 中间件和 JWT。

为了简单起见,我从 Web API 2 项目模板开始并将身份验证更改为“个人用户帐户”。然后,我创建的示例客户端能够通过调用/Token 获取 token ,并能够使用 OAuth 持有者 token 调用示例端点。到目前为止,一切都很好。然后我将以下代码添加到 Startup.Auth.cs 以尝试启用 JwtBearerAuthentication:

    var jwtOptions = new JwtBearerAuthenticationOptions
{
AllowedAudiences = audiences,
IssuerSecurityTokenProviders = new[] {
new SymmetricKeyIssuerSecurityTokenProvider(issuer, signingKey) }
};

app.UseJwtBearerAuthentication(jwtOptions);

我预计 Web API 2 会开始从对/Token 的调用返回 JWT,但它似乎没有做任何事情。几天来我一直在努力反对这个问题,但没有成功,而且 Microsoft 文档也不是很受欢迎。

我还尝试将以下内容添加到我的 OAuthAuthorizationServerOptions

AuthorizationCodeFormat = new JwtFormat(audience, new SymmetricKeyIssuerSecurityTokenProvider(issuer, signingKey))

我也可能在尝试做完全错误的事情。

任何想法将不胜感激。

最佳答案

好吧,现在 OAuthAuthorizationServerOptions 上有一个设置,您可以指定访问 token 的格式,而不是授权代码,就像您在示例中所做的那样。

所以,而不是:

AuthorizationCodeFormat = new JwtFormat(audience, new SymmetricKeyIssuerSecurityTokenProvider(issuer, signingKey))

你应该:

AccessTokenFormat = new JwtFormat(audience, new SymmetricKeyIssuerSecurityTokenProvider(issuer, signingKey))

关于c# - 修改 OWIN OAuth 中间件以使用 JWT 不记名 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22201576/

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