我已经使用Firebase Auth来管理我的应用程序上的用户登录,并为他们所属的每个组织的角色和权限自定义声明。
问题是,当用户属于多个组织时,自定义声明超过了Firebase身份验证设置的1,000个字符的长度限制。
对于客户,我可以使用ID令牌进行API调用,并以他/她的声明为响应。但是对于我的网关,这意味着我现在需要在每个用户请求时查询我的数据库。它完全打败了JWT的观点。
如何安全地嵌入自定义声明?
答案 0 :(得分:0)
通常,自定义声明的键和值很短,因此您不应遇到此限制。短键和值很重要,因为声明是在JWT中编码的,该JWT与每个请求/连接一起发送。
您现在可能会在令牌中存储可读的,有意义的值。我建议使用较短的“代码”作为声明的键/值,类似于JWT的三个字母默认属性。这样可以控制令牌的大小,并且除非确实有很多索偿要求,否则应将您带回限制之内。