我在.NET Core 2.0中实现JWT令牌身份验证时遇到了一些麻烦。我已经阅读了很多在线博客文章,但是他们现在已经过时,因为他们是.NET Core 1.x。
我还发现很难找到有关如何生成和发布令牌的任何文档。在.NET Framework Web API中,这完全是神奇的#39;用框架代码处理。
我正在使用自定义标识实体和自定义商店实现以及Angular前端构建API。
我正在寻找一种在API中使用Authorizaton: Bearer {token}
端点生成令牌的方法,然后在通过http请求中的style.xml
标头传入令牌时对请求进行身份验证和授权?
答案 0 :(得分:0)
在Startup.cs中 - >配置服务,添加以下内容,使用您的设置进行更新:
services.AddAuthentication(o =>
{
o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
options.Audience = "your audience";
options.ClaimsIssuer = "claims issuer";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidIssuer = "claims issuer",
IssuerSigningKey = { your signing key }
};
});
接下来,在配置中:
app.UseAuthentication();
app.UseMvc();
您必须确保UseAuthentication在UseMvc之前才能使用。
以前在Configure方法中的所有内容现在都已移至“服务”部分:)
查看此博客文章以获取示例,以及指向您可以获取示例项目的repo的链接:Shawn Wildermuth's Blog
答案 1 :(得分:0)