我正在构建2个MVC应用程序,并将使用IdentityServer作为单一登录身份验证提供程序。通过遵循IdentityServer网站的示例代码,我可以使身份验证正常工作。但是现在我对如何在MVC应用程序中注册新用户感到困惑。注册使用IdentityServer4与多个客户端的新用户的正确方法是什么?
例如在MVC 1中,我有一个安全的控制器操作。现在访问此操作将被重定向到IdentityServer登录页面。如果用户选择了外部登录提供程序并成功登录,那么用户将被重定向到IdentityServer的“注册”页面,询问用户是否想要注册。如果用户点击“注册”,则成功重定向到安全操作。到目前为止,示例代码已经完成了所有这些。但我的问题是,MVC1 & MVC2需要更多关于用户注册的信息。我如何提示用户输入这些附加信息?将这些信息输入IdentityServer寄存器页面是不可行的,因为MVC需要不同的信息。但是,如果我有一个MVC1 & MVC2的注册页面,那我该如何强制用户完成注册?用户通过IdentityServer进行身份验证后,他将直接返回到最初请求的Url。我无法在每个控制器操作中都有代码来验证经过身份验证的用户是否已完成详细注册。
一个理想的方法是,一旦用户通过IdentityServer进行身份验证,我可以检查此用户是否已在本地MVC用户数据库中注册。如果不是,则将用户重定向到本地MVC注册页面,然后返回到最初请求的Url。如何做到这一点,或者有更合适的方法来做到这一点?
MJK,谢谢你的回答。 –