Firebase 数据库权限被自定义令牌拒绝
Posted
技术标签:
【中文标题】Firebase 数据库权限被自定义令牌拒绝【英文标题】:Firebase Database permission denied with custom tokens 【发布时间】:2017-03-02 22:22:43 【问题描述】:我的应用程序设置了一个用 Java 和 Spring Boot 编写的后端 REST api。我在客户端(ios平台)调用API进行检索的后端创建自定义firebase令牌。使用此自定义令牌,我使用 FIRAuth.auth()?.signIn(withCustomToken: customToken)
登录,其中 customToken
是来自 api 响应的值。
我正在按如下方式创建这些自定义令牌:
public static String createCustomFirebaseToken()
UUID uid = UUID.randomUUID();
Task<String> authTask = FirebaseAuth.getInstance().createCustomToken(uid.toString());
try
Tasks.await(authTask);
catch (ExecutionException | InterruptedException e )
//TODO: handle exception
String customToken = authTask.getResult();
return customToken;
我可以在 Firebase 控制台的“身份验证”选项卡下查看为创建这些自定义令牌而生成的 UUID。
在我的 Firebase 数据库中,我只想向这些经过身份验证的用户授予读/写权限 - 这是我卡住的地方,因为我对 Firebase 不太熟悉。
例如,假设我有一个news
模型,在该模型中我将允许所有经过身份验证的用户进行读写。
我将如何实施如下规则:
"news":
".read": // authenticated user
".write": // authenticated user
提前谢谢你!
【问题讨论】:
【参考方案1】:
"news":
".read": "auth != null",
".write": "auth != null"
这就是你要找的吗?
【讨论】:
完美,这比我想象的要容易得多——谢谢朋友!以上是关于Firebase 数据库权限被自定义令牌拒绝的主要内容,如果未能解决你的问题,请参考以下文章