ASP.NET Core 2 AuthenticationSchemes
问题描述:
有几种身份验证方案,但我找不到任何文档。他们有什么不同?ASP.NET Core 2 AuthenticationSchemes
options.DefaultScheme
options.DefaultChallengeScheme
options.DefaultForbidScheme
options.DefaultAuthenticateScheme
options.DefaultSignInScheme
options.DefaultSignOutScheme
答
从here
- DefaultScheme:如果指定,所有其它的默认值将回退到 此值
- DefaultAuthenticateScheme:如果指定, AuthenticateAsync()将使用此方案,并且由UseAuthentication()添加的AuthenticationMiddleware 将使用此 方案自动设置context.User。 (对应于 AutomaticAuthentication)
- DefaultChallengeScheme如果指定, ChallengeAsync()将使用此方案,[授权]与政策 不指定方案也将使用此
- DefaultSignInScheme被使用 SignInAsync()以及Google/Facebook/OIDC/OAuth等所有远程认证方案,例如 ,通常会将其设置为cookie。
- DefaultSignOutScheme所使用的SignOutAsync()回落到DefaultSignInScheme
- DefaultForbidScheme所使用的ForbidAsync(), 回落到DefaultChallengeScheme
所以,你指定,这authentication scheme,时便会在相应的方法中使用IAuthenticationService
您是否阅读过[本文](https://docs.microsoft.com/zh-cn/aspnet/core/security/authorization/limitingidentitybyscheme)? –
我找不到任何有关主题的信息。 – Joffrey