配置 asp.net 核心 2 Web 应用程序以使用来自单独的 IdentityServer4 服务器的身份验证

Configure asp.net core 2 web application to use authentication from a separate IdentityServer4 server

我有一个带有自定义用户存储等的 IdentityServer4 的工作实现

我有一个 asp.net 核心网络应用程序,我想要求用户通过 IdentityServer4 实例登录某些页面,我的网站具有完整的 ASP.Net 核心身份功能,例如我的剃须刀页面访问用户等

我已经搜索了 3 天,虽然互联网上似乎有很多关于非常相似主题的资源,但它们的做法都略有不同。我觉得我只是不知道要搜索的正确关键字。

我一直在关注许多在线教程,例如 JWT Authentication on .Net Core and all of the quickstarts on identityserver4.io,但它们都遗漏了关键步骤。

IdentityServer 是 oidc 的一个实现,这意味着它充当一个独立的中央身份验证点。客户端应用程序应该不知道用户凭据。这是 IdentityServer 职责的一部分。

所以您找不到答案并且认为缺少步骤的原因是您没有实施 oidc。

当用户必须登录时,'hide' IdentityServer 是不可能的。

剩下三个选项:

  1. 实施Resource owner password流程。在这种情况下,您可以收集凭据并将其发送到 IdentityServer。请注意,您在使用时可能存在安全问题。

  2. 不使用 IdentityServer,而是实施 Asp.Net Core Identity。

  3. 向 IdentityServer 发送信息以识别客户端并为该客户端使用自定义表示。在那种情况下,url 可能不同,但外观和感觉保持不变。