我想创建自己的本地身份验证服务器,但我不知道该怎么做。
大多数文章都是关于OAuth、Identity4Server、google、facebook等身份验证的,但我找不到任何关于自定义解决方案的文章。Msdn在这方面也很差。
此刻我有这样的东西:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(o =>
{
o.MetadataAddress = "http://localhost:5000";
o.Authority = "http://localhost:5000";
o.Audience = "http://localhost:5001";
o.RequireHttpsMetadata = false;
o.TokenValidationParameters = new TokenValidationParameters
{
ValidIssuer = "http://localhost:5000",
ValidAudience = "http://loclhost:5001",
};
})
;
}
我是否正确地认为授权机构是我的Identity Server的地址?那么为什么当我使用:
[HttpGet, Authorize, Route("/")]
public async Task<IActionResult> Get()
{
return Content("You are autorized.");
}
我的权威服务器收到任何请求?
我是否需要创建自己的身份验证方案,将请求发布到我的身份验证服务器,或者JwtBearer身份验证方案中有内置机制?
IdentityServer只是自定义解决方案的构建块。它有助于将所有中间件连接在一起,因此您不必从头开始。
如果您想编写一个自定义身份验证解决方案,我的建议是从IdentityServer开始,然后从那里进行自定义。