如何在不登录firebase / js的情况下注册用户[重复]
Posted
技术标签:
【中文标题】如何在不登录firebase / js的情况下注册用户[重复]【英文标题】:how to sign up users without login in firebase/js [duplicate] 【发布时间】:2020-04-17 08:30:15 【问题描述】:我正在开发管理员网站,实际上我需要知道如何注册用户而不丢失我的管理员注册,因为我需要让只有管理员才能创建用户帐户。 我正在使用 firebase 电子邮件/密码验证。
const CreateCh = document.querySelector('#CreateChaufeurs');
CreateCh.addEventListener('submit',(e)=>
e.preventDefault();
//get chaufeur info
const email = CreateCh['exampleEmail11'].value;
const password = CreateCh['examplePassword11'].value;
const Fname = CreateCh['Fname'].value;
const Address = CreateCh['exampleAddress'].value;
const Tel = CreateCh['exampleAddress2'].value;
const Ville = CreateCh['exampleCity'].value;
const Etat = CreateCh['exampleState'].value;
const Cp = CreateCh['exampleZip'].value;
const AGE = CreateCh['AGE'].value;
console.log(password, email, Fname,AGE,Address,Tel,Ville,Etat,Cp );
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error)
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
);
);
但在创建帐户后,它会自动使用该新帐户登录。
【问题讨论】:
你到底想要什么? 我想在不更改管理员登录名的情况下创建帐户。问题是当管理员创建一个新帐户时,会话将转换为新用户帐户,我不希望这种情况发生,我希望管理员只是让他留下新帐户我 哪个会话?。 我的意思是验证器(我尝试自动创建新用户帐户,此帐户替换管理员帐户,我需要停止) 【参考方案1】:您可以初始化一个单独的 Firebase SDK 实例来处理您的所有帐户创建请求。
以最简单的形式,您可以使用:
let authWorkerApp = firebase.initializeApp(firebase.app().options, 'auth-worker');
let authWorkerAuth = firebase.auth(authWorkerApp);
authWorkerAuth.setPersistence(firebase.auth.Auth.Persistence.NONE); // disables caching of account credentials
authWorkerAuth.createUserWithEmailAndPassword(email, password).catch(function(error)
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
);
如果遇到Firebase app 'auth-worker' is already initialised等错误,可以将其包装在安全的getter中以避免此类错误:
function getFirebaseApp(name, config)
let foundApp = firebase.apps.find(app => app.name === name);
return foundApp ? foundApp : firebase.initializeApp(config || firebase.app().options, 'auth-worker');
let authWorkerApp = getFirebaseApp('auth-worker');
【讨论】:
当我插入 auth-worker 时没有什么不同; dropbox.com/s/8ahkxpgtyss35or/Capture.PNG?dl=0 在我创建新用户时查看图片 admin 更改为 Not admin 您无法正确使用上面的代码,因为之前的控制台消息表明您正在使用的 firebaseApp 名为[DEFAULT]
而不是 auth-worker
@alabouhajja 你能链接auth.js
的前10行左右吗?
好的,但是当我将 firebase.auth().createUserWithEmailAndPassword 更改为 authWorkerAuth.createUserWithEmailAndPassword 时,它仍然存在一些问题以上是关于如何在不登录firebase / js的情况下注册用户[重复]的主要内容,如果未能解决你的问题,请参考以下文章
您好,我是 Flutter 新手,仍在练习基础知识。我想学习如何在不使用 firebase auth 的情况下在登录页面上设置默认凭据
如何在不请求的情况下在firebase-auth中首次加载时获取currentUser
用户是不是可以在不安装您的应用的情况下通过 Firebase Auth 注册新帐户?