我试图在ASP.NET核心中使用基本身份验证。我在GitHub(https://github.com/aspnet/security)的安全库中发现它不会被实现。还有什么可以代替它吗?我查看了不记名令牌,但从我可以看到的是,它们基本上是使用Facebook / Twitter /等OAuth的另一种方式。
我在后端服务上的web api控制器/操作上使用它,并希望验证与后端通信的产品以及存储在数据库中的该站点的特定设置。我不能/不能使用任何第三方系统(Facebook / Twitter /等),而且我真的试图通过运行单独的OAuth系统来保持这种简单而不复杂的复杂性。 github repo中推荐的基本auth解决方案之一不再存在,另一个只从配置文件中读取用户/凭证。我尝试修改仅限配置示例中的代码来读取身份存储中的数据,但是"授权"属性保持失败,因为基本不被识别。
答案 0 :(得分:2)
具有实体框架核心的ASP.NET核心身份
如果您正在使用带有Entity Framework Core的ASP.NET核心身份,则应该可以按照https://docs.asp.net/en/latest/security/authentication/index.html中的说明使用简单的Cookie身份验证。
它的魔力实际上来自app.UseIdentity()
。
JWT承载认证(承载令牌)(previously OAuthBearer)
由于您要求提供承载令牌,我认为CookieAuthentication
可能不是API后端的最佳方式,请查看ASP.NET安全JWT承载。它将验证在标题中传递的JWT,而您必须自己实现令牌发布。