【问题标题】:Firebase authentification via GitHub: setting the uid通过 GitHub 进行 Firebase 身份验证:设置 uid
【发布时间】:2019-07-15 15:52:52
【问题描述】:

我想允许用户通过 GitHub 和使用 firebase 的电子邮件/密码登录/注册。

在服务器端,我使用 firebase_admin SDK 实现,电子邮件/密码类似:

user = auth.create_user(
            uid=submission["id"],  // customized id
            email=submission["email"],
            password=submission["pass"],
            display_name=submission["name"] + " " + submission["lastName"])

效果很好,但我想通过 GitHub 注册时获得相同的结果。也就是说,我希望能够设置自己的uid。请注意,我希望代码主要在服务器端。我希望用户点击相同的按钮来登录或注册。

我实际上设法使用来自 firebase 文档的下一个代码从服务器端使用自定义 uid 对用户进行身份验证:

provider_data=[ # user with Google provider
            auth.UserProvider(
                uid='google-uid',
                ...

但我不明白身份验证结束后如何登录。登录代码是否应该在客户端?

【问题讨论】:

    标签: javascript firebase firebase-authentication firebase-admin


    【解决方案1】:

    登录总是发生在客户端上,而不是服务器上。您可以使用 Firebase Admin SDK 创建、删除和修改帐户。最终用户在登录客户端应用程序时必须提供该帐户的凭据。

    【讨论】:

    • 好的,那么如何检测用户是否是新用户?我曾经使用 result.additionalUserInfo.isNewUser 来检查它。但是要获得结果变量,我需要使用以下行在客户端登录: firebase.auth().signInWithPopup(provider).then((result)... 但是如果用户是新用户。
    • 这听起来像是一个全新的问题。您能否单独发布您正在尝试执行的操作以及无法按您期望的方式工作的代码?
    猜你喜欢
    • 2021-06-26
    • 2023-04-01
    • 2014-01-05
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多