Firebase ID令牌对Python的“aud”(受众)声明不正确

时间:2018-04-24 00:15:26

标签: python firebase firebase-authentication google-oauth2

使用firebase python API,我为我的应用程序的用户ID创建了自定义令牌,这是为了启用验证并可能从后端请求用户数据。

以下是我的示例代码:

   #create custom token with uid
    custom_token = firebase_admin.auth.create_custom_token(uid)
    print custom_token
    decoded_token = 
    firebase_admin.auth.verify_id_token(id_token=custom_token, 
   check_revoked=True)

但是我在使用Python的firebase上遇到以下错误:

Firebase ID token has incorrect "aud" (audience) claim. Expected "sec-vef-sandbox" 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 ID token.

我已确保projectId与'sec-vef-sandbox'匹配,因此请勿查看错误的来源。在Stack Overflow上查看其他帖子后,它似乎是一个firebase错误。我想知道是否有办法解决这个问题。

1 个答案:

答案 0 :(得分:0)

Firebase管理员sdk仅验证ID令牌,自定义令牌不属于此类别。所以没有解决方法,只检查documentation如何从客户端获取有效的ID令牌。另外,GitHub上的这个帖子将更详细地介绍firebase-python-admin SDK特有的问题。