如何使用firebase认证检索和处理重定向错误
how to retrieve and handle Redirect errors using firebase Auth?
我正在开发移动应用程序,使用Firebase Auth。Firebase建议重定向而不是弹出。然而,我似乎找不到任何使用Oauth提供商(facebook,Google)检索错误的例子。Firebase有一个在SignwithPopup中处理错误的例子,但是在重定向之前,它只声明:
在重定向模式中以类似的方式处理此错误,使用挂起的凭据必须在页面之间缓存的区别重定向(例如,使用会话存储)。
我们在同一文档的前一节中展示了在哪里对重定向操作进行错误处理:只需在本页中搜索"firebase.auth().getRedirectResult()",特别是在catch
中:
firebase.auth().getRedirectResult().then(function(result) {
if (result.credential) {
// This gives you a Google Access Token. You can use it to access the Google API.
var token = result.credential.accessToken;
// ...
}
// The signed-in user info.
var user = result.user;
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
// ...
});
顺便说一下,添加多个认证提供者和处理链接帐户实际上是相当棘手的,因为有许多子流程需要考虑(例如,如果用户想要链接,但随后登录了一个帐户,其中电子邮件不匹配…)。我建议您使用Firebase UI,它提供了一个可配置的UI组件,它将为您处理所有这些棘手的流程。
相关文章:
- 当达到codeigniter/tank auth会话超时时,在ajax调用中处理php重定向
- 表单处理后 PHP 重定向
- 提交AJAX表单,重定向而不是在页面上处理
- 表单在每个页面中 - 仅在特定页面上处理它 - 如果当前不在页面上 - 重定向 - 否则 - 使用 AJAX 更新数据
- 模态中的 Django 形式:动态重定向和处理错误
- 如何在 Node.JS 中使用 HorsemanJs 和 PhantomJS 处理重定向
- jQuery表单插件:如何正确处理从服务器发回的重定向请求
- 尝试在 JavaScript 中强制关闭窗口时未处理重定向
- 从老式的发布后重定向到现代的 ajax 表单处理
- 在 POST ajax 处理程序中更改 window.location 会发出新的 ajax 调用,而不是重定向
- REST调用登录过程,我们如何处理重定向
- 在重定向到友好的URL时处理CSS和JS
- 在不重定向或使用过多JavaScript的情况下处理表单上的必需字段
- 重定向发生在处理表单数据之前
- 以肮脏的形式处理重定向
- 在ExpressJS中处理重定向,同时避免重定向循环
- 我应该通过PHP或Javascript处理重定向吗
- 请求npm处理重定向
- 如何使用firebase认证检索和处理重定向错误
- 使用Selenium Driver+PhantomJS注入JavaScript脚本,并在Python中正确处理重定向