(401)未经python firebase授权
我正在尝试使用库更新Firebase,但无法使用经过调整的示例代码使身份验证生效:(401)未经python firebase授权,python,authentication,firebase,Python,Authentication,Firebase,我正在尝试使用库更新Firebase,但无法使用经过调整的示例代码使身份验证生效: from firebase import firebase as fb auth = fb.FirebaseAuthentication('<firebase secret>', 'me@gmail.com', auth_payload={'uid': '<uid>'}) // NB renamed extras ->
from firebase import firebase as fb
auth = fb.FirebaseAuthentication('<firebase secret>', 'me@gmail.com',
auth_payload={'uid': '<uid>'}) // NB renamed extras -> auth_payload, id -> uid here
firebase = fb.FirebaseApplication('https://<url>.firebaseio.com', authentication=auth)
result = firebase.get('/users', name=None, connection=None,
params={'print': 'pretty'}) // HTTPError: 401 Client Error: Unauthorized
print result
从firebase导入firebase作为fb
auth=fb.FirebaseAuthentication(“”,'me@gmail.com',
auth_有效载荷={'uid':''})//NB重命名了extras->auth_有效载荷,id->uid
firebase=fb.FirebaseApplication('https://.firebaseio.com,身份验证=auth)
result=firebase.get('/users',name=None,connection=None,
params={'print':'pretty'})//HTTPError:401客户端错误:未经授权
打印结果
我不断得到(401)未授权,但我注意到库生成的令牌与a生成的令牌完全不同,当我提供相同的URL、uid和secret时,a生成的令牌可以很好地进行身份验证
我注意到一个问题,问为什么库不只是使用,所以我实施了建议的更改,以防它会有所不同,但仍然得到相同的结果
有人能告诉我什么可能让我在这里绊倒吗?这个图书馆已经有4年的历史了,这意味着firebase的很多东西都发生了变化,特别是在谷歌收购之后。访问Firebase的方式完全不同 我建议使用官方的Firebase Admin Python SDK 一个非常好的选择,但更喜欢官方的是:
我不熟悉
python firebase
客户端(firebase不正式支持该客户端),但我可以帮助您验证生成的JWT是否有效。在中键入JWT,并确保有效负载与预期相符。它应该包含您想要的uid。此外,输入您的密码,并确保签名已验证。如果不是,则生成的令牌无效。了解这些信息将有助于我们对此进行调试。此外,请仔细检查您是否使用了正确的机密。签名:已验证,根据jwt.ioc,实际上,我认为这可能与使用正确的机密一样简单。我只是尝试获取“/消息”I/o“/用户”,结果成功了。似乎默认机密无法访问“/users”节点。谢谢你的帮助。你修过这个吗?我知道auth_payload是该调用中的一个意外参数。关键在于注释,很可能-/NB重命名的extras->auth_payload,id->uid这里
-假设您使用的是标准python firebase,请尝试将auth_payload
重命名为extras
,这些库不支持python 2.7,因此,当我使用Python2.7时,PythonFirebase gae
是最好的