我在java上使用Firebase Admin SDK来自定义具有自定义声明集的自定义令牌。我将这些发送回ANDROID应用程序,它是客户端界面,并使用以下命令登录:
signInWithCustomToken("foundtokenfromserver");
现在,用于签署令牌的服务帐户文件是安全且隐藏的。但是,由于数据库URL,API密钥和存储桶URL在Web部件上公开,我认为任何人都可以从中创建自己的应用程序。我确实有安全规则将用户限制在自己的节点上。
我主要担心的是:
如果有人拦截了铸造的自定义标记并保存了该标记。他们是否可以使用上述FirebaseApp(使用公开信息生成)使用该令牌登录?
有没有办法让firebase防止这种滥用(也许auth域可以阻止网络,但是localhost呢?)
答案 0 :(得分:1)
通常,在向服务器发送一些auth声明后,您只会使自定义令牌成为现实。例如,您可能正在使用自己的自定义身份验证系统使用电子邮件/密码。另一个示例是您可能正在使用不受支持的OAuth提供程序,并假设提供程序已经验证了用户,并且仅在验证应用程序后返回了断言(OAuth凭据/授权代码等)。此外,您将使用安全的TLS连接来防止窃听。