如何在服务器上验证从客户端发送的 idToken
?
我正在使用 python 跟踪 docs here。基本上我使用 email
和 password
登录客户端,返回 idToken
,然后我将此 idToken
发送到服务器进行验证,但得到如下错误。
我很确定我在与客户端相同的项目中生成了服务帐户 json。有谁知道可能是什么问题?
我的服务器代码如下所示:
from firebase_admin import credentials, initialize_app, auth
def is_authenticated(id_token):
cred = credentials.Certificate("service-account.json")
app = initialize_app(cred)
return auth.verify_id_token(id_token, app)
最佳答案
除了发送电子邮件和密码,您还必须将标志 returnSecureToken
设置为 true
,否则您的 IdToken 将无效,您也不会获得刷新 token 。
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"email":"[[email protected]]","password":"[PASSWORD]","returnSecureToken":true}'
Documentation关于python - firebase 验证 id token 给 : Firebase ID token has incorrect "iss",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47817069/