我想创建自己的本地身份验证服务器,但是我不知道该怎么做。
大多数文章都是关于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",
};
})
;
}
我是否正确认为授权机构是我的IdentityServer的地址? 那为什么在我使用时:
[HttpGet, Authorize, Route("/")]
public async Task<IActionResult> Get()
{
return Content("You are autorized.");
}
有任何请求发送到我的授权服务器吗?
我是否需要创建自己的身份验证方案,在其中将请求发布到我的身份验证服务器,还是JwtBearer AutheniticationScheme中有内置机制?
答案 0 :(得分:0)
IdentityServer只是自定义解决方案的构建块。它有助于将所有中间件捆绑在一起,因此您不必从头开始。
如果您要编写自定义身份验证解决方案,我的建议是从IdentityServer开始并从那里对其进行自定义。