首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安全地从客户端调用云函数(,Firebase)

安全地从客户端调用云函数(,Firebase)
EN

Stack Overflow用户
提问于 2020-08-01 21:25:58
回答 1查看 788关注 0票数 0

我正在开发一个移动机器人应用程序,用户可以在其中注册一个customToken。我有一个(谷歌)云功能,我用它生成一个customToken,它被发送回客户端(Android ),以登录Firebase。(截止目前为止,Firebase还不支持auth提供者-我也不知道)

为了安全和节省成本,我只希望允许授权用户访问云函数,因此,我删除了allUsers成员作为函数调用者的角色。

然后,我创建了一个服务帐户(在同一个Firebase项目中),并赋予它调用角色的功能。现在的问题是,我如何“验证”客户机(Android )访问此功能,而不被登录(因为您需要customToken登录),也不需要在客户端上保存凭据?

还是我用错误的方式处理这个问题?云功能应该是公开的吗?我对Firebase、云功能和安全性的了解也非常有限,因此,任何建议或建议都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-08-01 21:36:06

Cloud用户权限(如allUsers和服务帐户)与Firebase用户没有任何关系。

需要由web和移动客户端直接访问的云功能必须具有IAM allUsers权限。他们不需要一个服务帐户来获得许可。

如果您需要检查调用函数的Firebase Auth用户帐户,客户端将需要向函数传递一个ID令牌,该函数将需要使用Firebase Admin SDK验证该令牌,以确定用户是谁,然后决定是否应该能够继续执行。这个过程在文档中有更详细的描述。

如果您不使用Firebase auth,那么从安全性的角度看,您就无能为力了,因为您必须将凭据包含在应用程序本身中,或者以其他方式公开这些凭据,这一点都不安全。换句话说,你不能仅仅从你自己的应用程序代码中限制对你的函数的访问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63210225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档