Firebase admin SDK Python - 无法验证自定义令牌

Firebase admin SDK Python - cannot verify custom tokens

我正在尝试使用 python 的 firebase admin sdk 来制作自定义令牌并在测试我的应用程序时验证这些令牌。问题是,当我尝试验证令牌时,我总是会收到这样的错误:

ValueError: Firebase ID token has incorrect "aud" (audience) claim. Expected "my_project_id" but got "https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit". Make sure the ID token comes from the same Firebase project as the service account used to authenticate this SDK. See https://firebase.google.com/docs/auth/admin/verify-id-tokens for details on how to retrieve an ID token.

我按照指南创建了应用程序并制作了令牌:

import firebase_admin
from firebase_admin import auth, credentials

cred = credentials.Certificate('/path/to/file.json')
app = firebase_admin.initialize(cred)
custom_token = auth.create_custom_token('some-uid', app=app)
auth.verify_id_token(custom_token, app=app)

这里我得到了错误。似乎 _TokenGenarator 是使用从错误返回的默认值初始化的。我认为在通过应用程序时它应该自动更改那些但它没有发生。我错过了什么吗?

verify_id_token() 只接受 ID 令牌。自定义令牌不属于该类别。看到这个 test case。在这种情况下,提高 ValueError 是预期的行为。

ID 令牌可以从 client SDK 获得。您可以通过调用提供的 signInWithCustomToken() 方法之一将自定义令牌交换为 ID 令牌。