【问题标题】:Retrieve idToken and refreshToken in Firebase-admin Python SDK在 Firebase-admin Python SDK 中检索 idToken 和 refreshToken
【发布时间】:2018-12-23 16:15:59
【问题描述】:

我需要检索用户的 idToken 和 refreshToken (firebase_admin._user_mgt.UserRecord object)。这是我用flask创建新用户的函数。

@app.route('/user/SignUp')
def user_signup():
    """ Sign up new users """

    email = request.args.get('email')
    password = request.args.get('password')

    try:
        new_user = auth.create_user(
            email=email,
            email_verified=False,
            password=password,
            disabled=False)
        print ("- - - new user created - - - ")


    except Exception as e:
        print ("- - - create_user error : {} - - - ".format(str(e)))
        return jsonify(
            error=str(e),
            status="FAILED"
        )

如果我们使用下面的 Web API 端点,它会使用两个键 https://www.googleapis.com/identitytoolkit/v3/relyingparty/signupNewUser 进行响应

文档: https://firebase.google.com/docs/reference/rest/auth/#section-create-email-password

有没有办法在不使用 Web API 的情况下实现这一点?

谢谢。

【问题讨论】:

    标签: python-3.x firebase-authentication firebase-admin


    【解决方案1】:

    您无法使用 Admin SDK create_user API 检索 ID 令牌和刷新令牌。您必须使用客户端 SDK 来执行此操作。

    【讨论】:

    • 感谢您的回答。你能解释一下答案吗?
    • Admin SDK 用户管理 API 从不发布 ID 令牌,您必须使用客户端 SDK 才能这样做。例如,要获取电子邮件/密码用户的 ID 令牌,您必须从客户端 SDK 调用 createUserWithEmailAndPassword 来获取 ID 令牌,而不是 admin sdk API create_user 等。
    • 请随意查看参考资料。 create_user 返回不提供任何令牌的 UserRecord。与具有 getIdToken() 方法的 firebase 客户端用户不同,那里没有可用的方法。
    • 你提到我必须打电话给createUserWithEmailAndPassword。那么它在哪里可用呢?
    • 这里是 Web 客户端 API 参考链接:firebase.google.com/docs/reference/js/…
    猜你喜欢
    • 2017-11-23
    • 2022-12-11
    • 1970-01-01
    • 2021-07-29
    • 2020-04-10
    • 2019-09-01
    • 1970-01-01
    • 2018-05-17
    • 2018-10-02
    相关资源
    最近更新 更多