我使用admin SDK从应用程序和后端服务器使用firebase连接。
Firebase admin SDK使用服务帐户密钥连接到Firebase后端。这里我的用例是:我有一个python包,它将被客户端使用,这里我不想使用服务帐户密钥和管理SDK。我想使用API密钥,如果用户输入应用程序的有效用户名和密码(假设用户已经注册),用户将获得访问firebase后端。(显然根据安全规则)
我无法找到一个方法来访问firebase后端使用API密钥和应用程序的用户名/密码从python脚本。如果有人知道,请帮助我。
Firebase为Python提供的Admin SDK仅用于受信任的环境,并且不允许使用用户名/密码登录。使用Admin SDK的所有代码都使用管理权限访问Firebase,因此它不适合您的用例。Firebase本身并没有为使用Python的客户端访问提供SDK。所以Firebase提供的唯一选择是从代码中调用REST API。
有一个叫做Pyrebase的第三方库,它允许你登录用户(通过包装上面提到的REST API):
# Get a reference to the auth service
auth = firebase.auth()
# Log the user in
user = auth.sign_in_with_email_and_password(email, password)
如果你想用API密钥控制后端访问,你不能。
与API密钥的典型使用方式不同,Firebase服务的API密钥不用于控制对后端资源的访问;这只能通过Firebase安全规则(控制哪些用户可以访问资源)和应用程序检查(控制哪些应用程序可以访问资源)来完成。
as per docs