IdentityServer4 中使用 ASP.NET Core Identity 的注意事项
ASP.NET Core Identity 和 IdentityServer4 都是基于 ASP.NET Core 身份认证系统实现的一个组件,
当我们在 IdentityServer4 中集成 ASP.NET Core Identity 这个组件时,会出现一些奇怪的问题,比如看起来已经认证通过,但 WebApi 却返回 404
这是由于 Identity 会注册它自己 AuthenticationScheme,而 IdentityServer4 也会注册自己的 Scheme,我们需要在调用 services.AddAuthentication( options=> { } )
中替换掉 Identity 的 Scheme,因为我们真正使用的是 IdentityServer4 的 Scheme。
1 | services.AddAuthentication(options => |
必须在 services.AddIdentity<T>()
之后调用 service.AddAuthentication()
才能覆盖。