【问题标题】:Authenticating external ADFS users in my SAAS application在我的 SAAS 应用程序中对外部 ADFS 用户进行身份验证
【发布时间】:2016-01-01 16:40:20
【问题描述】:

我们的 SAAS 系统目前正在使用标准 Microsoft.AspNet.Identity.Owin 库通过 Bearer 令牌以及 Facebook/Google/Twitter/等社交登录来验证用户身份。

我们的一些用户要求我们开始允许通过 ADFS 进行身份验证。

我试图了解如何做到这一点。不幸的是,所有的博客似乎都在深入细节,而没有很好地概述所涉及的内容。此外,大多数博客都在谈论信任特定的 Active Directory,而我们需要信任大量可能的客户的 Active Directory - 并且动态地进行。 IE:客户使用自定义用户名/密码注册帐户,然后向我们的 SAAS 应用程序提供有关其 AD 的一些信息。之后,我们的 SAAS 应用程序应该信任该 AD 中用户的身份验证(只是 auth 部分)

任何人都可以提供有关所涉及内容的信息吗?

TIA

【问题讨论】:

    标签: authentication azure asp.net-identity adfs azure-active-directory


    【解决方案1】:

    同意@vibronet 的观点。

    另一种方法是将 STS 支持添加到您的 SaaS 应用程序。这可以是 WS-Fed 或 SAML。您已使用 Azure 标记了该问题,因此可以选择 AAD。

    然后您可以与任意数量的其他 STS(如 ADFS)联合。请注意,每个 ADFS 都必须同意添加您的元数据。

    另一种方法是使用 IDaaS(例如 Auth0、Okta)。这些将为您完成身份繁重的工作,并从本质上提供 STS 功能。

    【讨论】:

    • 如果是 IDaaS 提供商,我假设我的客户需要将 IDaaS 的元数据添加到他们的 ADFS?
    • 是的 - 元数据传输总是必须在双方发生。
    【解决方案2】:

    问题分为两部分,

    1. 如何使用 ADFS 实例和

    2. 如何处理来自不同的任意数量的 ADFS 实例 所有者。

    1) 的答案是使用 WS-Federation 中间件,它可以与您已经在使用的中间件一起添加。但是,该中间件的初始化需要了解您要定位的 ADFS 元数据文档的位置;此外,ADFS 管理员必须明确配置您的应用程序,否则将不会颁发任何令牌。因此,您建议的流程(临时用户名/密码和后续详细信息交换)可能很棘手 - 但并非不可能。

    关于 2) 除非您大量修改中间件设置,否则无法连接任意数量的不同 ADFS 实例。实际答案是,处理这种情况的标准做法是依赖一个中间 ADFS(或等效的),它可以对所有其他人进行信任,而您的应用只需要信任中间 ADFS。

    【讨论】:

    • 这个中介 ADFS...这是像 Auth0 这样的人还是...?
    • 任何可以代理身份验证的东西,只要最适合您的场景。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 2023-03-11
    • 1970-01-01
    • 2021-06-15
    相关资源
    最近更新 更多