FirebaseExtended / FirebaseExtended/reactfire

useIdTokenResult forceRefresh not working?

未关闭
#380 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
v5
主要语言
TypeScript
星标
3.6k
派生
403
平均合并
14 小时 53 分钟
30 天内合并 PR
5

描述

### Version info

**React:** 17 experimental with suspense

**Firebase:** 8.6.2

**ReactFire:** 3.0.0-rc.0

**Other (e.g. Node, browser, operating system) (if applicable):**

### Test case

I am using nextjs and reactfire. I am setting auth claims on one page and using the normal query, I get new claims. Afterwards I switch the page.
```
let token = await user.getIdTokenResult(true)
console.log(token.claims) // { claim: NewClaim }
router.push("/newpage")
```

Now on the new page, I can get the new claims via the above command and it shows me the new claim, too.
However, using the reactfire hook, I am still getting old ones:

```
const { data: token} = useIdTokenResult(user, true);
console.log(token.claims) // { claim: OldClaim }
```

### Expected behavior

Normally the useIdTokenResult should give back the updated claim.

### Actual behavior

The useIdTokenResul keeps showing the old claim.

What I am trying to achieve is a claim update as described in the experimental firebase extension **Auth Claims**: https://github.com/FirebaseExtended/experimental-extensions/blob/next/firestore-auth-claims/POSTINSTALL.md#activating-new-custom-claims

贡献指南

打开贡献指南

调研方向

首先,在所描述的 Next.js 页面导航过程中复现 Firebase user.getIdTokenResult(true) 与 ReactFire 的 useIdTokenResult(user, true) 之间的差异。比较 router.push("/newpage"); 前后返回的 claims;当 hook 暴露更新后的 claim 而不是旧 claim 时,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
firebase, nextjs, react, typescript
领域
authentication, frontend
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。