无法解析授权令牌(Firebase)



我试图在我的firebase实时数据库中保存数据使用这个规则:

{
"rules": {
"users": {
"$uid": {
// Allow only authenticated content owners access to their data
".read": "auth != null && auth.uid == $uid",
".write": "auth != null && auth.uid == $uid",
},
},
},
}

我需要创建users的子元素,并将其命名为该用户的uid。所以,我这样做:

user=auth.sign_in_with_email_and_password('email', 'password')
database.child('users').child(user['localId']).set("nahid",user['localId'])

但是当我运行这个时,我得到这个错误:

requests.exceptions.HTTPError: [Errno 401 Client Error: Unauthorized for url: https://khelobd-6f730-default-rtdb.firebaseio.com/users/7Km7srPfqqccZwa0On5i2QaJDUi2.json?auth=7Km7srPfqqccZwa0On5i2QaJDUi2] {
"error" : "Could not parse auth token."
}

我该如何解决这个问题?

?auth=参数似乎不是用户的Firebase ID令牌,而是UID本身。尝试将set()中的user['localId']更改为user['idToken']:

user=auth.sign_in_with_email_and_password('email', 'password')
database.child('users').child(user['localId']).set("nahid",user['idToken'])
#                                                                  ^^^

最新更新