使用JWT令牌实现身份验证和授权

时间:2017-07-06 15:57:28

标签: authentication oauth asp.net-core authorization jwt

我只是混淆使用UseJwtBearerAuthentication或JWT与OAUTH 2在.Net Core Web API中实现身份验证和授权。

1 个答案:

答案 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的早期版本中编写的。我将项目转换为GitHubcsproj