javascript - 在 Firebase 中创建用户后获取身份提供者令牌
问题描述
我正在开发一个具有“使用 Google 登录”和“使用 Facebook 登录”按钮的网络应用程序。用户成功登录 Firebase 支持的应用后,我希望能够对其 Google 和 Facebook 数据进行 API 调用。例如从 Google Photos 或 Facebook 获取他们的照片。
通常,当您在 Web 上使用 Google Auth API 并登录时,这很容易做到,您会获得可以传递给服务器的 Auth Code,服务器会交换一次性使用的 Access Token 和 Refresh Token 代码并将它们存储在服务器端用于任何未来的 API 调用。这是此方法的教程链接 - https://developers.google.com/identity/sign-in/web/server-side-flow
使用 Firebase 作为我的后端并且使用 FirebaseUI 对我的 Web 应用程序的用户进行身份验证,我如何获取可以传递给 Firebase 函数的代码,该函数然后可以将其交换为访问令牌和刷新令牌并将其保存到 Firestore 以进行进一步的 API 调用。
解决方案
您可以使用signInSuccessWithAuthResult
来自 firebaseUI 的回调:https ://github.com/firebase/firebaseui-web#signinsuccesswithauthresultauthresult-redirecturl
它将公开 userCredential 对象。对于像 google 和 facebook 这样的 OAuth 提供者,您可以使用userCredential.credential
. 此接口的参考在这里:https ://firebase.google.com/docs/reference/js/firebase.auth.OAuthCredential
推荐阅读
- java - 使图像指向java中的特定位置
- python - 在 JSON 文件中搜索字符串 - Python
- ios - 是否可以在 Windows 10 上调试 iOS Chrome?
- java - 正则表达式选择特定的多行
- angularjs - E/launcher - 未知错误:Chrome 无法启动:在无头模式下崩溃
- amazon-web-services - 从 AWS 迁移:dynamoDB+API 网关到 Google:DataStore +?
- android - react native的项目结构,包括原生iOS,Android?
- php - 使用 301 重定向重定向到另一个页面不起作用
- css - 根据css中的背景反转文本颜色
- android - 文字从左到右填充