小编Vin*_*gui的帖子

将 Google Firebase Golang 库(例如 IAP 和 Firestore)用于非管理客户端应用程序

简要描述;简介

大家好,

我正在与 Golang 合作,开发一款可以在家里本地运行的软件,但也可以与一些云数据同步(每个用户登录单独保护)。为此,我决定使用 Google Cloud Service - Firebase(IAP、托管、Functions 和 Firestore)。让我告诉你,我喜欢开发和学习这些。

然而,问题来了:我对 Google 提供的用于其服务的 Golang 工具(库)感到非常困惑。他们似乎拥有定义明确的 Golang 库来配合他们的服务IF因为您必须向其导出凭据。

就我而言,我正在开发的软件将在客户端计算机上运行,​​因此我需要客户端登录 IAP 等。任何人都可以帮助我吗?

问题

  1. 似乎没有一个可用的工具专门针对 Golang 客户端(非管理员)
  2. Google 提供了很多很多存储库,以及指向似乎执行类似操作的不同工具的链接,其中哪一个供管理员使用,哪一个使用他们的 RPC 服务器,哪一个可以用于我的客户端?
  3. 谷歌对同一事物的不同版本有非常相似的名称;
  4. 文档对我来说似乎不够清楚,以及他们是否有特定的库或不适合我的情况。

我取得了什么成就

  • 使用 REST API,我设法通过一个用户帐户(在我的 IAP 项目中创建)获取 tokenID(登录);
  • 凭借其 tokenID,我设法使用 REST API 检索他有权访问的一些文档;
  • 通过以下代码,我设法使用 Golang 库之一(应该用于管理员凭据)来使用我的项目的私有 IAP 用户帐户检索相同的文档。
    package main

    import (
        "context"
        "fmt"

        "cloud.google.com/go/firestore"
        "golang.org/x/oauth2"
        "google.golang.org/api/option"
    )

    func main() {
        ctx := context.Background()
        token := oauth2.Token{
            AccessToken:  "TOKEN_ID-FROM-IAP",
            TokenType:    "Bearer",
            RefreshToken: …
Run Code Online (Sandbox Code Playgroud)

go oauth-2.0 firebase firebase-authentication google-cloud-firestore

5
推荐指数
0
解决办法
582
查看次数