Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(401)未经python firebase授权_Python_Authentication_Firebase - Fatal编程技术网

(401)未经python 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 ->

我正在尝试使用库更新Firebase,但无法使用经过调整的示例代码使身份验证生效:

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
是最好的