Luc*_*gue 5 javascript firebase-authentication
某些安全性敏感的操作(例如删除帐户,设置主电子邮件地址和更改密码)要求用户最近登录。
否则,请求将失败,并显示错误代码auth/requires-recent-login,我应通过提示用户重新插入其凭据来处理该情况。完成此操作后,我可以使用以下代码轻松地重新验证用户身份:
firebase.auth().currentUser.reauthenticate(credential)
Run Code Online (Sandbox Code Playgroud)
API 参考中有更多详细信息。原来credential实际上是一个类型的对象firebase.auth.AuthCredential。话虽这么说,我仍然有很多问题在文档中找不到答案:
AuthCredential对象?您可以通过在任何提供程序(包括电子邮件/密码提供程序)上调用凭证静态方法来初始化凭证:
firebase.auth.FacebookAuthProvider.credential(fbAccessToken);
要重新验证 OAuth 提供程序,您可以在浏览器中调用 signInWithPopup 或重定向。这将返回一个具有 2 个字段的对象:用户和凭据。您可以直接使用该凭据。这是一个简化的示例:
var tempApp = firebase.initializeApp(originalConfig, 'temp');
var provider = new firebase.auth.FacebookAuthProvider();
tempApp.signInWithPopup(provider).then(function(result)) {
tempApp.auth().signOut();
originalApp.auth().currentUser.reauthenticate(credential);
});
这并不重要,因为 Firebase 身份验证后端可能会改变这一点。你不应该硬编码这个值。而是尝试捕获该错误并在它发生时采取适当的行动。
| 归档时间: |
|
| 查看次数: |
1826 次 |
| 最近记录: |