首页 > 解决方案 > 在 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 调用。

标签: javascriptfirebasefirebaseui

解决方案


您可以使用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


推荐阅读