Firebase SAML认证如何设置每次登录均需用户重新输入凭证?
解决Firebase SAML强制每次登录输入凭证的问题
针对你遇到的Firebase SAML认证后浏览器自动保存凭证、无需重复输入密码的问题,可通过以下方法实现强制每次登录都要求输入凭证:
- 给SAML Provider添加强制登录参数
大多数SAML身份提供商支持prompt: 'login'参数,该参数会强制身份提供商忽略已保存的会话或凭证,要求用户重新输入账号密码。你需要在初始化SAMLAuthProvider时添加自定义参数:
const provider = new firebase.auth.SAMLAuthProvider('PROVIDER_NAME'); // 设置强制登录参数 provider.setCustomParameters({ prompt: 'login' }); firebase.auth().signInWithPopup(provider) .then((result) => { console.log(result) }) .catch((error) => { console.log("ERROR: ", error) })
- 身份提供商端配置补充
如果部分身份提供商不支持prompt参数,需在对应平台的SAML应用配置中设置会话控制规则,比如:- 强制会话超时时间极短
- 禁用会话持久化
- 开启每次请求都需要重新验证的选项
说明:
- 你之前尝试的Auth Persistence仅控制Firebase本地的会话存储,和身份提供商的凭证保存机制无关,因此无效。
reauthenticateWithPopup()是针对已登录用户的二次验证,而非登录流程中的强制凭证输入,所以不适用当前场景。
内容的提问来源于stack exchange,提问作者Rem
相关产品推荐
相关产品推荐

