|,可以通过以下步骤完成:
const admin = require('firebase-admin');
// 初始化Firebase应用程序
admin.initializeApp({
credential: admin.credential.applicationDefault(),
databaseURL: 'https://your-project-id.firebaseio.com'
});
// 获取Firestore实例
const db = admin.firestore();
// 注册用户
function registerUser(email, password) {
return admin.auth().createUser({
email: email,
password: password
})
.then((userRecord) => {
// 将用户信息保存到Firestore数据库中
return db.collection('users').doc(userRecord.uid).set({
email: email,
role: 'user'
});
})
.catch((error) => {
console.error('Error creating user:', error);
throw error;
});
}
// 用户登录
function loginUser(email, password) {
return admin.auth().signInWithEmailAndPassword(email, password)
.then((userCredential) => {
// 获取用户信息
return db.collection('users').doc(userCredential.user.uid).get();
})
.then((doc) => {
if (doc.exists) {
const user = doc.data();
console.log('Logged in as:', user.email);
console.log('Role:', user.role);
} else {
console.log('User not found');
}
})
.catch((error) => {
console.error('Error signing in:', error);
throw error;
});
}
以上代码示例中,registerUser
函数用于注册用户并将用户信息保存到Firestore数据库中,loginUser
函数用于使用注册用户的身份信息进行登录,并获取用户信息。
在这个场景中,Firestore是一种云原生的NoSQL数据库,它提供了实时同步、可扩展性和安全性等优势。它适用于各种应用场景,包括Web应用、移动应用、物联网等。
腾讯云提供了类似的云服务,你可以使用腾讯云的云数据库MongoDB版(TencentDB for MongoDB)作为替代方案。它提供了高可用性、自动扩展、安全可靠等特点。你可以在腾讯云官网上了解更多关于TencentDB for MongoDB的信息。
领取专属 10元无门槛券
手把手带您无忧上云