强大的用户身份验证对于应用程序安全至关重要。从头开始构建此功能是耗时且复杂的,从而增加了安全漏洞的风险。 Firebase大大简化了此过程,为用户身份管理提供了简化的方法。本教程演示了如何使用Firebase V9的模块化API实施用户注册,验证和身份验证。
该教程假设熟悉React,React钩子和Firebase V8。您需要安装一个Google帐户和Node.js。
目录
设置firebase
项目设置
克隆启动器存储库:
git克隆-b启动器https://github.com/tammibriggs/firebase_user_auth.git CD FIREBASE_USER_AUTH NPM安装
这包括package.json
中的firebase v9。运行npm start
启动应用程序。
火基整合
src
目录中创建firebase.js
。// src/firebase.js 从'firebase/app'导入{initializeapp}; 从'firebase/auth'导入{getauth};
// src/firebase.js const firebaseconfig = { / *您的config在此处 * /}; const app = initizeApp(firebaseconfig); const auth = getauth(app); 导出{auth};
用户注册
Register.js
组件使用createUserWithEmailAndPassword
(firebase v9)。密码验证可确保匹配密码。注册功能处理用户创建和错误处理。表格的onSubmit
事件触发注册过程。
用户状态管理(REACT上下文API)
AuthContext.js
文件提供了用于管理用户状态的上下文。 AuthProvider
共享用户状态, useAuthValue
访问它。 App.js
用AuthProvider
包装组件,并且onAuthStateChanged
更新用户状态。
电子邮件验证
注册后, sendEmailVerification
发送验证电子邮件。用户被重定向到A /verify-email
页面。此页面使用useEffect
和状态管理以防止限制速率,以60秒的冷却方式显示用户的电子邮件和“重新启动电子邮件”按钮。经过验证后,用户将自动重定向到其配置文件。
个人资料页面
Profile.js
组件使用useAuthValue
显示用户电子邮件和验证状态。 “签名”按钮利用Firebase的signOut
。
私人路线保护
PrivateRoute.js
限制了对配置文件页面的访问,以使用Redirect
验证用户。 App.js
路由已更新以将PrivateRoute
用于配置文件组件。
登录功能
Login.js
组件使用signInWithEmailAndPassword
。登录后,它将检查电子邮件验证并在必要时重定向到/verify-email
,开始60秒的倒计时。
概括
本教程提供了使用Firebase V9在React应用程序中实现安全用户身份验证的综合指南。使用Firebase的使用可显着简化该过程,从而提供强大而有效的解决方案。
进一步阅读
以上是用firebase并进行反应的用户注册的详细内容。更多信息请关注PHP中文网其他相关文章!