Firebase 当用户发送请求时,如何在安全规则中获取用户的fresh request.auth.token

Firebase 当用户发送请求时,如何在安全规则中获取用户的fresh request.auth.token,firebase,firebase-authentication,google-cloud-functions,Firebase,Firebase Authentication,Google Cloud Functions,我正在通过自动触发云功能更新customClaims,无法访问安全规则中的此类新customClaims 我正在开发聊天网络应用程序。通过发送好友请求功能,我想限制每个用户的好友数量,因此我在创建定义新好友的新文档对话时使用云功能自动触发,然后增加好友数量customclaims,以便能够控制有限好友的权限,因此,每次用户添加好友时,friendsNumber都会增加1,但在安全规则中,我总是得到request.auth.token.friendsNumber==0 我知道请求是通过旧令牌发送的

我正在通过自动触发云功能更新customClaims,无法访问安全规则中的此类新customClaims

我正在开发聊天网络应用程序。通过发送好友请求功能,我想限制每个用户的好友数量,因此我在创建定义新好友的新文档对话时使用云功能自动触发,然后增加好友数量customclaims,以便能够控制有限好友的权限,因此,每次用户添加好友时,friendsNumber都会增加1,但在安全规则中,我总是得到request.auth.token.friendsNumber==0

我知道请求是通过旧令牌发送的,通过forcerefresh我可以获得一个新令牌。但这种想法对我来说是可行的,因为我通过自动触发云功能更新FriendsNumberCustomClaims

是否有获取最新令牌的方法或访问此类新customClaims的方法?

根据:

在通过Admin SDK对用户修改新声明后,它们将 通过ID传播到客户端上经过身份验证的用户 以以下方式使用令牌:

用户在修改自定义声明后登录或重新验证。作为结果发布的ID令牌将包含最新的 声称。 现有用户会话在旧令牌过期后刷新其ID令牌。 通过调用currentUser.getIdTokentrue强制刷新ID令牌。 您需要强制刷新令牌,或者等待客户端应用程序刷新令牌的时间段。在此之前,对声明的任何更改都不会在客户端或安全规则中可见