我有一个具有自定义用户商店等的IdentityServer4的工作实现。
我有一个ASP.NET核心Web应用程序,我希望通过IndendityServer4实例需要用户登录,其中我的网站具有完整的ASP.NET核心身份功能,例如我的剃刀页访问用户等。
我一直在搜索3天,尽管互联网似乎在非常相似的主题上有很多资源可用,但它们的作用却有些不同。我觉得我只是不知道要搜索的正确关键字。
我一直在遵循许多在线教程,例如.NET Core上的JWT身份验证以及IndendityServer4.io上的所有QuickStarts,但它们都忽略了关键步骤。
IdentityServer是OIDC的实现,这意味着它充当独立的中央身份验证点。客户端应用程序不应意识到用户凭据。这是身份服务器的责任的一部分。
因此,您找不到答案而认为丢失的步骤是因为您没有实施OIDC。
当用户必须在此处登录时,不可能"隐藏"身份服务器。
为您提供三个选择:
-
实现资源所有者密码流。在这种情况下,您可以收集凭据并将其发送到IdentityServer。请注意,使用此问题时可能存在安全问题。
-
不要使用IdentityServer,而是实现ASP.NET核心身份。
-
将信息发送到IdentityServer以识别客户端并为该客户使用自定义演示文稿。在这种情况下,URL可能不同,但外观和感觉保持不变。