我只是混淆使用UseJwtBearerAuthentication或JWT与OAUTH 2在.Net Core Web API中实现身份验证和授权。
答案 0 :(得分:2)
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
}
});
...
}
不幸的是,示例代码是在使用project.json
的ASP.NET Core的早期版本中编写的。我将项目转换为GitHub的csproj
。