【发布时间】:2017-12-10 17:58:47
【问题描述】:
我只是混淆使用 UseJwtBearerAuthentication 或 JWT 和 OAUTH 2 在 .Net Core Web API 中实现身份验证和授权。
【问题讨论】:
标签: authentication oauth asp.net-core authorization jwt
我只是混淆使用 UseJwtBearerAuthentication 或 JWT 和 OAUTH 2 在 .Net Core Web API 中实现身份验证和授权。
【问题讨论】:
标签: authentication oauth asp.net-core authorization jwt
JSON Web Token (JWT) 是 OAUTH 2 的实现。
ASP.NET Core and Angular 2 by Valerio De Sanctis 非常详细地解释了如何在 ASP.NET Core 中实现 JWT 提供程序。这是示例代码-
public void Configure(IApplicationBuilder app...)
{
...
// Add a custom Jwt Provider to generate Tokens
app.UseJwtProvider();
// Add the Jwt Bearer Header Authentication to validate Tokens
app.UseJwtBearerAuthentication(new JwtBearerOptions()
{
AutomaticAuthenticate = true,
AutomaticChallenge = true,
RequireHttpsMetadata = false,
TokenValidationParameters = new TokenValidationParameters()
{
IssuerSigningKey = JwtProvider.SecurityKey,
ValidateIssuerSigningKey = true,
ValidIssuer = JwtProvider.Issuer,
ValidateIssuer = false,
ValidateAudience = false
}
});
...
}
不幸的是,示例代码是用以前版本的 ASP.NET Core 编写的,它使用了project.json。我将项目转换为csprojGitHub。
【讨论】: