如何使用 IdentityServer4 限制对特定域的身份验证
How to restrict authentication to a specific domain using IdentityServer4
在使用 IdentityServer4 保护 ASP.NET Core MVC 2.0 客户端和关联 API 的上下文中,我如何实施特定于域的身份验证限制?
我已经完成了 IdentityServer quickstarts 并且有一个工作的 MVC 客户端与 IdentityServer 实例对话(如果使用错误的术语,我们深表歉意)。我正在使用外部身份验证 (Google),没有任何稍微复杂的东西,例如本地登录/数据库等。我 没有 使用 ASP.NET 身份。这一切都很好。
问题: 我需要只允许某个公司的用户进入应用程序。为此,我将检查他们的电子邮件地址或 the 'hd' claim from Google 以检查他们的域并将其与白名单匹配。
- 我是在客户端还是在 IdentityServer 中实现它?
- 任何人都可以指出一个例子来说明这是在哪里完成的,或者提供有关如何实施它的解释吗?
很高兴 post 当前实现代码可用,我没有使用的唯一原因是它与上面链接的快速入门相同。
我相信这个逻辑属于您的 IdentityServer 实例。
但它可能存在于您的 application/client 上,只有当电子邮件的域检查仅针对单个应用程序需要时。这样,您可能有操作过滤器来检查声明,并且您需要添加 hd
到用户声明列表。
检查白名单的逻辑应该放在IdentityServer上。您可以在客户端设置一个标志来检查系统是否需要验证电子邮件域
在使用 IdentityServer4 保护 ASP.NET Core MVC 2.0 客户端和关联 API 的上下文中,我如何实施特定于域的身份验证限制?
我已经完成了 IdentityServer quickstarts 并且有一个工作的 MVC 客户端与 IdentityServer 实例对话(如果使用错误的术语,我们深表歉意)。我正在使用外部身份验证 (Google),没有任何稍微复杂的东西,例如本地登录/数据库等。我 没有 使用 ASP.NET 身份。这一切都很好。
问题: 我需要只允许某个公司的用户进入应用程序。为此,我将检查他们的电子邮件地址或 the 'hd' claim from Google 以检查他们的域并将其与白名单匹配。
- 我是在客户端还是在 IdentityServer 中实现它?
- 任何人都可以指出一个例子来说明这是在哪里完成的,或者提供有关如何实施它的解释吗?
很高兴 post 当前实现代码可用,我没有使用的唯一原因是它与上面链接的快速入门相同。
我相信这个逻辑属于您的 IdentityServer 实例。
但它可能存在于您的 application/client 上,只有当电子邮件的域检查仅针对单个应用程序需要时。这样,您可能有操作过滤器来检查声明,并且您需要添加 hd
到用户声明列表。
检查白名单的逻辑应该放在IdentityServer上。您可以在客户端设置一个标志来检查系统是否需要验证电子邮件域