在使用IdentityServer4保护ASP.NET Core MVC 2.0客户端及相关API的上下文中,如何强制执行特定于域的身份验证限制?
我已经完成了IdentityServer quickstarts并且有一个工作的MVC客户端与IdentityServer实例通信(如果使用错误的术语,则道歉)。我正在使用外部身份验证(Google)并且没有任何温和复杂的内容,例如本地登录/数据库等。我不使用ASP.NET身份。这一切都很好。
问题:我只需要允许某个公司的用户进入该应用程序。为实现此目的,我将检查其电子邮件地址或the 'hd' claim from Google以检查其域名并将其与白名单进行匹配。
如果使用的话,很高兴发布当前实现的代码,唯一的原因我没有说它与上面链接的快速入门相同。
答案 0 :(得分:0)
我相信这个逻辑属于您的IdentityServer实例。
但是,只有在单个应用程序需要电子邮件的域检查时,它才可能存在于您的应用程序/客户端上。通过这种方式,您可以使用操作过滤器来检查声明,并且需要将hd
添加到用户声明列表。
使用白名单检查的逻辑应该是IdentityServer上的状态。您可以在客户端上设置标志以检查系统是否需要验证电子邮件域