Firebase身份验证-进行远程服务呼叫时出现未知错误

问题描述

我们在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()

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...