【问题标题】:username/password and sso system - what should be the password value for an sso user用户名/密码和 sso 系统 - sso 用户的密码值应该是多少
【发布时间】:2019-12-02 15:17:52
【问题描述】:

我有一个我们负责身份验证的应用程序,这意味着 - 我们存储用户名及其密码。 现在,我想向应用程序添加 SSO 选项。 显然,对于普通用户,用户模型上的密码字段是必需的。关于来自 SSO 登录的用户的最佳做法是什么? (无论如何,它们必须保存在我的数据库中,但没有密码)

**该应用程序是在 RoR 中使用 devise 和 devise-saml-authenticatable 编写的(以 Azur AD 作为我的 IdP),但我的问题与它无关。

【问题讨论】:

    标签: devise single-sign-on saml-2.0


    【解决方案1】:

    他们没有您可以访问的密码……这就是单点登录的意义所在,身份提供者会处理所有这些。您标记了 SAML,所以我会谈到这一点,但这对于其他 SSO 系统大体上是正确的。

    您是服务提供商 (SP)。它们从服务提供者(您的应用程序)重定向到身份提供者 (IdP)、登录,然后通过 SAML 断言返回到您的应用程序。由于 SP 和 IdP 之间建立了信任关系,因此您天生就信任来自 IdP 的断言(只要证书等),因此用户无需向您提供用户名。他们的“凭据”是 SAML 断言。

    由于不需要密码,因此不需要设置。如果您的数据库架构要求该字段不为空,请更改您的架构,或在您提供其访问权限时使用随机数据加载它。

    注意:SAML is for authentication, not authorization.

    【讨论】:

    • 感谢您的回答。 SAML 流程对我来说非常清楚,想知道设置随机数据或保持为空是否是最佳做法。
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 2016-01-28
    • 2017-05-18
    相关资源
    最近更新 更多