📅  最后修改于: 2023-12-03 15:22:25.553000             🧑  作者: Mango
Firebase UI身份验证是一个开源库,它为开发者提供了快捷、简便的方式来实现用户身份验证。这里我们将介绍如何使用Firebase UI身份验证模块来实现使用电子邮件链接的身份验证。
您可以使用以下命令安装 Firebase UI 身份验证:
npm install --save firebaseui
在 Firebase 控制台 “身份验证” 页面中,选择“电子邮件/密码”,启用“从电子邮件提供商登录”中的“仅通过电子邮件登录”, 并将“访问代码”设置为“电子邮件链接”。
在您的 JavaScript 文件中,您需要初始化 Firebase UI 身份验证。在下面的示例中,我们假定您已在节点.js中使用了 Firebase Admin SDK 管理用户。
var firebase = require("firebase");
// Initialize Firebase
var config = {
apiKey: 'YOUR_API_KEY',
authDomain: 'YOUR_AUTH_DOMAIN',
databaseURL: 'YOUR_DATABASE_URL',
projectId: 'YOUR_PROJECT_ID',
storageBucket: 'YOUR_STORAGE_BUCKET',
messagingSenderId: 'YOUR_SENDER_ID'
};
firebase.initializeApp(config);
在您的应用程序中打开一个页面以便用户登录并显示 Firebase UI 身份验证界面。此示例将 #firebaseui-auth-container
元素作为此目的的容器。
// Import Firebase UI
var firebaseui = require('firebaseui');
// Initialize the FirebaseUI Widget using Firebase.
var ui = new firebaseui.auth.AuthUI(firebase.auth());
// FirebaseUI configuration.
var uiConfig = {
signInOptions: [
firebase.auth.EmailAuthProvider.PROVIDER_ID,
],
// Will display the email verification sent notification
callbacks: {
signInSuccessWithAuthResult: function(authResult, redirectUrl) {
// User successfully signed in.
return false;
},
afterSendEmailVerification: function() {
// Email verification should be sent directly which should
// be confirmed by the user.
return false;
},
},
};
ui.start('#firebaseui-auth-container', uiConfig);
您还需要使用Firebase API发送验证电子邮件以确认用户输入的电子邮件地址是他们的。此示例将启示如何完成此操作。
var actionCodeSettings = {
url: 'https://www.example.com/emailVerification',
handleCodeInApp: true
};
firebase.auth().currentUser.sendEmailVerification(actionCodeSettings)
.then(function() {
// Email sent.
})
.catch(function(error) {
// An error happened.
});
Firebase UI身份验证模块使身份验证过程变得轻松愉快。通过遵循上述步骤,您将能够轻松地实现使用电子邮件链接的身份验证。