我正在使用 .NET Core Web API 开发Web应用程序。到目前为止,我已经使用 Identity 对用户进行身份验证和管理。是否经常是这种情况,建议使用 Google Firebase auth 之类的身份验证服务?
?我正在考虑使用Google Firebase auth,以便用户可以以不同的方式登录(使用Facebook,Google等(。但是,我想拥有一个自托管的后端应用程序和数据库。现在我问自己:
如何将用户数据存储在服务器上:我应该使用UID(从Firebase返回(作为外键将相关数据保存在数据库中?
如何使用角色(身份(?如何从特定用户中添加/删除角色?
我应该在数据库中存储其他用户数据(例如电子邮件,名称等(,还是应该始终从令牌中检索这些Infos!这些Infos是否完全由Firebase Auth提供?
感谢您将光线带入黑暗!
-
您有自己的用户数据库。当用户登录并获取内部用户firebase自定义令牌时,您可以验证firebase ID令牌。
docs/auth/users
-
您将它们存储在自己的数据库中,然后将它们添加到firebase自定义令牌中。
-
取决于您需要多少数据以及数据是否与Firebase基本数据有所不同。
将firebase添加到您的应用程序
<script src="https://www.gstatic.com/firebasejs/4.1.3/firebase.js"></script>
<script>
// Initialize Firebase
// TODO: Replace with your project's customized code snippet
var config = {
apiKey: "<API_KEY>",
authDomain: "<PROJECT_ID>.firebaseapp.com",
databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
storageBucket: "<BUCKET>.appspot.com",
messagingSenderId: "<SENDER_ID>",
};
firebase.initializeApp(config);
</script>
如果您尚未将应用程序连接到Firebase项目,请从Firebase控制台进行操作。启用电子邮件/密码登录:在Firebase控制台中,打开Auth部分。在"方法"选项卡上,启用电子邮件/密码登录方法,然后单击"保存"。
创建一个基于密码的帐户
通过将新用户的电子邮件地址和密码传递给createUserWitheMailandPassword:
来创建一个新帐户firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
有关更多信息,请浏览
https://firebase.google.com/docs/auth/web/password-auth