【问题标题】:How to create a user in Firebase using golang?如何使用 golang 在 Firebase 中创建用户?
【发布时间】:2017-01-17 10:52:38
【问题描述】:

有什么方法可以在 Firebase 中使用 Golang 的用户名、电子邮件和密码创建用户。可以使用createUserWithEmailAndPassword(email, password) 使用 Javascript 创建用户,但我需要使用 Golang。是否有可用的软件包或功能?我正在使用 firego 连接 Firebase。

【问题讨论】:

    标签: go firebase firebase-authentication


    【解决方案1】:

    最近,Google 使用 Firebase Admin SDK 将 Go Lang 添加到 Firebase 身份验证支持的编程语言列表中。

    创建用户:

    params := (&auth.UserToCreate{}).
            Email("user@example.com").
            EmailVerified(false).
            PhoneNumber("+1234567890").
            Password("secretPassword").
            DisplayName("Donald Drump").
            PhotoURL("http://www.example.com/12345678/photo.png").
            Disabled(false)
    u, err := client.CreateUser(context.Background(), params)
    if err != nil {
            log.Fatalf("error creating user: %v\n", err)
    }
    log.Printf("Successfully created user: %v\n", u)
    

    如果您想使用自己的用户 ID 创建用户并且不希望 Firebase 自动生成 ID,那么:

    params := (&auth.UserToCreate{}).
            UID(uid).
            Email("user@example.com").
            PhoneNumber("+1234567890")
    u, err := client.CreateUser(context.Background(), params)
    if err != nil {
            log.Fatalf("error creating user: %v\n", err)
    }
    log.Printf("User created successfully : %v\n", u)
    

    更新用户:

    params := (&auth.UserToUpdate{}).
            Email("user@example.com").
            EmailVerified(true).
            PhoneNumber("+1234567890").
            Password("newPassword").
            DisplayName("Donald Drump").
            PhotoURL("http://www.example.com/12345678/photo.png").
            Disabled(true)
    u, err := client.UpdateUser(context.Background(), uid, params)
    if err != nil {
            log.Fatalf("error updating user: %v\n", err)
    }
    log.Printf("Successfully updated user: %v\n", u)
    

    【讨论】:

      【解决方案2】:

      Firebase 添加了一个适用于 Go 的 Admin SDK。有关更多信息,请参阅 Mujtaba 的回答:https://stackoverflow.com/a/47889860


      上一个答案:

      没有适用于 Go 的 Firebase SDK。但是 Firebase 的某些部分有一个 REST API,允许您使用几乎任何平台/技术的这些功能。 Firebase 数据库是这些功能之一,而 Firego 库是面向 Go 开发人员的 Firebase 数据库 REST API 的包装器。

      很遗憾,在 Firebase 身份验证中没有用于创建用户的 REST API。因此,将无法通过 Firego 或通过您的 Go 代码中的公共 REST API 创建用户。

      最简单的解决方案是在您控制的应用服务器上创建一个 REST 端点,然后在其中使用 Firebase Admin SDKcreate the user

      【讨论】:

      • 我们还有其他参考资料可以在 golang 的 firebase 中创建用户吗?
      猜你喜欢
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 2019-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-25
      • 1970-01-01
      相关资源
      最近更新 更多