我对Identityserver和授权完全陌生。
使用Identityserver3构建授权服务器。它适用于asp.net mvc 5应用程序。
现在我正在尝试使用此授权服务器来保护新的asp.net core 2.0 webapi。
我找不到任何关于如何做到这一点的好文件。任何人都可以帮忙做到这一点吗?
由于
答案 0 :(得分:0)
如果使用IdentityServer,就像使用它一样。在.NET Core 2.0 Web API中,Startup.cs
:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore()
.AddAuthorization()
.AddJsonFormatters();
services.AddAuthentication("Bearer")
.AddIdentityServerAuthentication(options =>
{
options.Authority = "<identityserverurl>";
options.RequireHttpsMetadata = false;
options.ApiName = "mynetcoreapi";
});
}
public void Configure(IApplicationBuilder app)
{
app.UseAuthentication();
app.UseMvc();
}
}
当然你需要IdentityServer4.AccessTokenValidation
包,但它是一个.NET Core包,所以你不应该有任何问题。
PS:不要忘记在IdentityServer中设置日志记录(如果尚未完成)。帮助很多