使用Identityserver3保护asp.net core 2.0 webapi

时间:2018-02-14 11:12:02

标签: asp.net-core-2.0 identityserver3 asp.net-core-webapi

我对Identityserver和授权完全陌生。

使用Identityserver3构建授权服务器。它适用于asp.net mvc 5应用程序。

现在我正在尝试使用此授权服务器来保护新的asp.net core 2.0 webapi。

我找不到任何关于如何做到这一点的好文件。任何人都可以帮忙做到这一点吗?

由于

1 个答案:

答案 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中设置日志记录(如果尚未完成)。帮助很多