如何使用golang在Firebase中创建用户?

时间:2017-01-17 10:52:39

标签: go firebase firebase-authentication

有没有办法在Gobase中使用相框,电子邮件和密码在Firebase中创建用户。可以使用createUserWithEmailAndPassword(email, password)使用Javascript创建用户但是我需要与Golang相同。有包装或功能吗?我正在使用firego与Firebase连接。

2 个答案:

答案 0 :(得分:10)

最近,Google将Go Lang添加到使用Firebase Admin SDK的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)

答案 1 :(得分:2)

没有针对Go的Firebase SDK。但Firebase的某些部分具有REST API,允许您使用几乎所有平台/技术中的这些功能。 Firebase数据库是其中一项功能,Firego库是Firebase Database for Go开发人员REST API的包装。

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

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