从 Web 服务器使用 Firebase 安全规则
Using Firebase Security Rules from a web server
是否有任何 Firebase Node/JS SDK 支持代表用户从节点服务器或云功能(例如 nextjs、remix)调用 Firestore,尊重经过身份验证的用户的安全规则并支持会话多个同时用户?
用例:
我有一个设置了 Firebase 安全规则的移动应用程序。我想从服务器端 Web 应用程序提供相同的数据,而无需在 Web 服务器上重新实施 Firebase 安全规则并保持它们同步。
例如如果用户通过 id 请求 post,而 Firebase 规则阻止他们访问该特定 post,我希望 Firebase 告诉我这一点,并让 Web 服务器将 403 状态转发给用户.
更多信息:
我读了this:
If you are developing a Web or Node.js application that accesses Cloud Firestore on behalf of end users, use the firebase Client SDK.
这表明这应该是可能的,但我的理解是:
firebase-js-sdk 一次只能对一个用户进行身份验证,因此如果同时处理来自多个用户的异步调用将不安全
firebase-admin 可以 运行 作为特定用户,但这只能在 initializeAdminApp 期间完成,并且会再次影响当前使用 firebase-admin 导入的所有请求
对吗?是否有任何其他方式可以代表来自 Web 应用程序的经过身份验证的用户执行操作?
我唯一能想到的就是 REST API...
https://firebase.google.com/docs/firestore/use-rest-api
Do any of the Firebase Node/JS SDKs support making calls to Firestore from a node server or cloud functions (e.g. nextjs, remix) on a users behalf, respecting security rules for the authenticated user and supporting sessions for multiple simultaneous users?
不,后端 SDK 总是绕过安全规则。只有您在客户端应用程序中使用的 Web 和移动 SDK 会使用用户先前 sign-in.
提供的身份验证令牌
你可以考虑使用REST API instead since it allows you to pass through a client auth token。由您手动管理该令牌的转移。
是否有任何 Firebase Node/JS SDK 支持代表用户从节点服务器或云功能(例如 nextjs、remix)调用 Firestore,尊重经过身份验证的用户的安全规则并支持会话多个同时用户?
用例:
我有一个设置了 Firebase 安全规则的移动应用程序。我想从服务器端 Web 应用程序提供相同的数据,而无需在 Web 服务器上重新实施 Firebase 安全规则并保持它们同步。
例如如果用户通过 id 请求 post,而 Firebase 规则阻止他们访问该特定 post,我希望 Firebase 告诉我这一点,并让 Web 服务器将 403 状态转发给用户.
更多信息:
我读了this:
If you are developing a Web or Node.js application that accesses Cloud Firestore on behalf of end users, use the firebase Client SDK.
这表明这应该是可能的,但我的理解是:
firebase-js-sdk 一次只能对一个用户进行身份验证,因此如果同时处理来自多个用户的异步调用将不安全
firebase-admin 可以 运行 作为特定用户,但这只能在 initializeAdminApp 期间完成,并且会再次影响当前使用 firebase-admin 导入的所有请求
对吗?是否有任何其他方式可以代表来自 Web 应用程序的经过身份验证的用户执行操作?
我唯一能想到的就是 REST API... https://firebase.google.com/docs/firestore/use-rest-api
Do any of the Firebase Node/JS SDKs support making calls to Firestore from a node server or cloud functions (e.g. nextjs, remix) on a users behalf, respecting security rules for the authenticated user and supporting sessions for multiple simultaneous users?
不,后端 SDK 总是绕过安全规则。只有您在客户端应用程序中使用的 Web 和移动 SDK 会使用用户先前 sign-in.
提供的身份验证令牌你可以考虑使用REST API instead since it allows you to pass through a client auth token。由您手动管理该令牌的转移。