问题描述
我们在Python 2.7 Standard google app引擎上使用Firebase进行身份验证。我们在requirements.txt文件中使用firebase_admin == 3.2.1
我们正在尝试基于文档[此处] [1]和[1] [此处] [2]创建会话cookie。
但是我们收到以下错误
(``连接断开:IncompleteRead(读取146个字节),IncompleteRead(146个字节读取)))代码:UNKNowN消息:进行远程服务调用时发生未知错误:( IncompleteRead(读取146个字节))
执行此语句时
def post(self):
logging.info(self.request.body)
session_data = json.loads(self.request.body)
# Get the ID token sent by the client
id_token = session_data['idToken']
expires_in = datetime.timedelta(days=5)
session_cookie = firebase_admin.auth.create_session_cookie(id_token,expires_in=expires_in,app=None)
[更新]
我们试图执行此代码来验证id_token
decoded_token = firebase_admin.auth.verify_id_token(id_token)
uid = decoded_token['uid']
以上代码执行无任何错误。我们能够验证uid(从Firebase控制台)。 [1]:https://firebase.google.com/docs/auth/admin/manage-cookies#python_1 [2]:https://firebase.google.com/docs/reference/admin/python/firebase_admin.auth
解决方法
我们将此代码添加到controller1.py中,并且可以正常工作。
import requests
import requests_toolbelt.adapters.appengine
requests_toolbelt.adapters.appengine.monkeypatch()