我目前正在尝试使用以下技术的组合为新应用程序创建基于声明的身份验证的概念证明:Web API 2、OWIN 中间件和 JWT。
为了简单起见,我从 Web API 2 项目模板开始,并将身份验证更改为“个人用户帐户”。然后,我创建的示例客户端能够通过调用 /Token 来获取令牌,并且能够使用 OAuth 持有者令牌调用示例端点。到目前为止,一切都很好。然后我将以下代码添加到 Startup.Auth.cs 以尝试启用 JwtBearerAuthentication:
var jwtOptions = new JwtBearerAuthenticationOptions
{
AllowedAudiences = audiences,
IssuerSecurityTokenProviders = new[] {
new SymmetricKeyIssuerSecurityTokenProvider(issuer, signingKey) }
};
app.UseJwtBearerAuthentication(jwtOptions);
我预计 Web API 2 会开始从对 /Token 的调用中返回 JWT,但它似乎没有做任何事情。几天来我一直在努力解决这个问题,但没有成功,而且微软的文档也不是很及时。
我还尝试将以下内容添加到我的 OAuthAuthorizationServerOptions
AuthorizationCodeFormat = new JwtFormat(audience, new SymmetricKeyIssuerSecurityTokenProvider(issuer, signingKey))
我也可能试图做完全错误的事情。
任何想法将不胜感激。