【发布时间】:2016-09-19 02:10:46
【问题描述】:
我正在尝试新的 Web 版 FirebaseUI (https://github.com/firebase/FirebaseUI-Web)。但是当我尝试使用电子邮件登录时,它会将我重定向到 AccountChooser 网站。
我可以关闭那个 AccountChooser 吗?
谢谢
【问题讨论】:
标签: firebase openid firebase-authentication
我正在尝试新的 Web 版 FirebaseUI (https://github.com/firebase/FirebaseUI-Web)。但是当我尝试使用电子邮件登录时,它会将我重定向到 AccountChooser 网站。
我可以关闭那个 AccountChooser 吗?
谢谢
【问题讨论】:
标签: firebase openid firebase-authentication
您可以通过向 Firebase 中的变量 uiConfig 添加条目来禁用。您必须将其添加到 uiConfig 变量中:
'credentialHelper': firebaseui.auth.CredentialHelper.NONE
这是uiConfig内部的一个例子:
var uiConfig = {
callbacks: {
signInSuccess: function (currentUser, credential, redirectUrl) {
return true;
},
uiShown: function () {
document.getElementById('loader').style.display = 'none';
}
},
//Start it here
credentialHelper: firebaseui.auth.CredentialHelper.NONE,
//End it here
signInFlow: 'popup',
signInSuccessUrl: '<url-to-redirect-to-on-success>',
signInOptions: [
// Leave the lines as is for the providers you want to offer your users.
firebase.auth.GoogleAuthProvider.PROVIDER_ID,
firebase.auth.FacebookAuthProvider.PROVIDER_ID,
firebase.auth.TwitterAuthProvider.PROVIDER_ID,
firebase.auth.EmailAuthProvider.PROVIDER_ID
],
// Terms of service url.
tosUrl: '<your-tos-url>'
};
var ui = new firebaseui.auth.AuthUI(firebase.auth());
ui.start('#firebaseui-auth-container', uiConfig);
【讨论】:
如果有人没有引入 firebaseui(例如,如果您使用 react-firebaseui),知道firebaseui.auth.CredentialHelper.NONE === 'none'
这个 SO 问题提供了这个答案:Disable account chooser FirebaseUI React 感谢@RafikTighilt 和@JeffBergman
【讨论】:
我正在使用/__/firebase/init.js 并且没有显式初始化和获取
firebaseui 未在 ,'credentialHelper' 上初始化:firebaseui.auth.CredentialHelper.NONE
解决办法,改变语句的顺序:
var ui = new ...var uiConfig = { ...ui.start('#firebaseui-auth-container', uiConfig);【讨论】:
在这里找到了解决方法:
https://github.com/firebase/firebaseui-web/issues/42
下载firebase-ui-auth.js文件(你可以从here复制version 0.5)。您需要更改一个字符并自己托管文件,而不是使用 CDN。
在文件中查找:"accountChooserEnabled",!0 并将!0 更改为!1。
这对我有用!
【讨论】: