【问题标题】:How to restrict authentication to a specific domain using IdentityServer4如何使用 IdentityServer4 将身份验证限制到特定域
【发布时间】:2017-11-06 09:22:51
【问题描述】:

在使用 IdentityServer4 保护 ASP.NET Core MVC 2.0 客户端和相关 API 的情况下,如何强制实施特定于域的身份验证限制?


我已经通过 IdentityServer quickstarts 工作,并且有一个正在工作的 MVC 客户端与 IdentityServer 实例通信(如果使用了错误的术语,请致歉)。我正在使用外部身份验证 (Google),并且没有任何稍微复杂的东西,例如本地登录/数据库等。我 使用 ASP.NET Identity。这一切都很好。

问题:我只需要允许某个公司的用户进入应用程序。为此,我将检查他们的电子邮件地址或the 'hd' claim from Google 以检查他们的域并将其与白名单匹配。

  1. 我是在客户端还是 IdentityServer 中实现这个?
  2. 谁能给我举个例子来说明这一点,或者解释一下如何实施?

如果有用的话,很高兴发布当前实现的代码,我没有这样做的唯一原因是它与上面链接的快速入门相同。

【问题讨论】:

    标签: security asp.net-core google-oauth identityserver4


    【解决方案1】:

    我相信这个逻辑属于你的 IdentityServer 实例。

    但仅当电子邮件的域检查仅对单个应用程序需要时,它才可能存在于您的应用程序/客户端上。这样,您可能有动作过滤器来检查声明,您需要将hd添加到用户声明列表中。

    检查白名单的逻辑应该在 IdentityServer 上进行。您可以在客户端设置一个标志来检查系统是否需要验证电子邮件域

    【讨论】:

    • 谢谢 MJK - 有没有机会你有样品或知道我可以试一试?
    猜你喜欢
    • 2018-03-18
    • 2015-10-22
    • 2021-02-27
    • 2019-04-12
    • 2015-04-09
    • 2015-01-28
    • 2020-06-21
    • 2018-01-02
    • 1970-01-01
    相关资源
    最近更新 更多