我有一个个人资料选项卡,用户可以在其中按编辑并编辑他们的个人资料。我只想在必要时才需要他们的密码。所以想知道用户登录的时间是多少毫秒,这使得它不是最近登录,其中firebase会抛出错误"auth/requires-recent-login"
编辑用户帐户时?new Date(Date.parse(firebase.auth().currentUser.metadata.lastSignInTime)).getTime()
将为我提供上次登录的近似值(2000 毫秒内的毫秒数)。我只是想知道什么时候应该要求用户重新进行身份验证?
Firebase 身份验证登录是永久性的 用户身份验证没有特定的超时时间,因此您不应要求他们根据过期时间重新进行身份验证。
您唯一应该要求用户重新进行身份验证的是,当您在代码中执行需要最近身份验证的操作并且失败并显示auth/requires-recent-login
错误代码。
例如,这是如何FirebaseUI 在用户删除时检测到错误 https://github.com/firebase/firebaseui-web/blob/49de7f69577e543451e41843854c29055974d275/demo/public/app.js#L161:
firebase.auth().currentUser.delete().catch(function(error) {
if (error.code == 'auth/requires-recent-login') {
// The user's credential is too old. She needs to sign in again.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)