username/password 和 sso 系统 - sso 用户的密码值应该是多少

username/password and sso system - what should be the password value for an sso user

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

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

他们没有您可以访问的密码...这就是单点登录的要点,身份提供者会处理所有这些。您标记了 SAML,所以我会谈到这一点,但这对于其他 SSO 系统来说是普遍适用的。

您是服务提供商 (SP)。它们从服务提供商(您的应用程序)重定向到身份提供商 (IdP)、登录,然后通过 SAML 断言返回到您的应用程序。因为在 SP 和 IdP 之间建立了信任关系,所以您本质上信任 IdP 的断言(只要证书等),因此用户不需要为您提供用户名。他们的 "credential" 是 SAML 断言。

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

注:SAML is for authentication, not authorization.