gpt4 book ai didi

c# - 使用 ASP.Net 5 的 JwtBearer 身份验证

转载 作者:行者123 更新时间:2023-11-30 23:32:35 25 4
gpt4 key购买 nike

自从 RC1 的最后一次更新以来,我无法让我的 MVC 应用程序能够读取和验证 jwt token 。我以前在 Startup.cs 中有这样的工作代码:

 public void Configuration(IAppBuilder app)
{
app.UseJwtBearerAuthentication(new MyJwtOptions());
...
}

然后还有这个:

public MyJwtOptions()
{
var issuer = "https://issuer.com";
var audience = "https://www.audience.com";
var key = Convert.FromBase64String("secretKey");
AllowedAudiences = new[] {audience};
IssuerSecurityTokenProviders = new[] {new SymmetricKeyIssuerSecurityTokenProvider(issuer, key)};
}

错误在这里:

app.UseJwtBearerAuthentication()

我到处搜索,试图找出为什么它不再与 DNX 4.5 和 DNX Core 5.0 兼容。 Intellisense 试图帮助我并告诉我

"You must add reference to Microsoft.AspNet.Http.Abstractions"

这样做一点帮助也没有。我发现其他答案建议添加对 Microsoft.AspNet.Authentication.OAuthBearer 的引用,但也没有运气。

我找到了另一个建议这样尝试的答案:

services.Configure<OAuthBearerAuthenticationOptions>(bearer =>
{
bearer.TokenValidationParameters.IssuerSigningKey = key;
bearer.TokenValidationParameters.ValidAudience = TokenAudience;
bearer.TokenValidationParameters.ValidIssuer = TokenIssuer;
});

问题是我不知道如何为 IssuerSigningKey 创建 SecureKey

有没有其他人成功地使用最新版本的 Asp.net 5 fc1-final 进行此操作?

更新

我找到的几乎每个示例都适用于自行创建和验证 jwt token 的应用程序。在我的例子中,我使用 Thinktecture 服务器来验证 token 。这就是为什么我需要 audienceissuer 以及为什么我在尝试创建 RsaKey 时有些迷茫。因为 key 不能只是我在 XML 文件中本地创建的东西,所以它需要在 Thinktecture 服务器上作为受信任的应用程序进行身份验证

最佳答案

Microsoft.AspNet.Authentication.OAuthBearer 已重命名为 JwtBearer。 https://github.com/aspnet/Announcements/issues/87

关于c# - 使用 ASP.Net 5 的 JwtBearer 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34245903/

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