(401)未经授权使用python-firebase

时间:2015-09-27 20:43:57

标签: python authentication firebase

我正在尝试使用python-firebase库更新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 

我一直得到(401)未经授权,但我注意到库生成的令牌与JavaScript version of FirebaseTokenGenerator生成的令牌完全不同 - 后者在提供相同的URL,uid和secret时验证正常

我注意到GitHub issue,质疑为什么图书馆不只是使用official Python firebase-token-generator,所以我forked并实施了建议的更改,以防它会有所作为,但仍然得到相同的结果。

有人可以建议可能会让我绊倒吗?

1 个答案:

答案 0 :(得分:0)

这个图书馆已有4年历史了,这意味着在收购Google之后,很多事情都已经改变了。您访问Firebase的部分方式完全不同。

我建议使用官方的Firebase Admin Python SDK https://github.com/firebase/firebase-admin-python

一个非常好的选择,但更喜欢官方是:

https://github.com/thisbejim/Pyrebase