flutter - 使用自定义令牌的 Firebase 身份验证错误
问题描述
我正在尝试使用KakaoTalk凭据对firebase中的用户进行身份验证。为此,我从 KakaoTalk 得到。然后尝试使用该令牌对用户进行身份验证。这是我的代码:accesstoken
String token = await kakaoService.getAccessToken();
await firebaseAuth.signInWithCustomToken(
token: token,
);
得到这样的访问令牌:nmAzFpOF9XrijP-ZoFpQbVluGZ4lLDbZxOCXIAo9c-sAAAFxrID6xA
但收到此错误:
自定义令牌格式不正确。请检查文档。[无效的断言格式。需要 3 个点分隔段。]
这里有什么问题?我错过了什么吗?
解决方案
似乎返回的令牌kakaoService.getAccessToken()
不是 Firebase 身份验证的有效自定义令牌。事实上,鉴于错误消息,它甚至看起来都不是 JWT。
Firebase 身份验证的自定义令牌必须具有特定格式,该格式记录在创建自定义令牌中。您通常需要按照此流程获取有效的 Firebase 身份验证令牌:
- 将用户登录到身份提供商(在您的情况下为 KakaoTalk)。
- 解码来自提供者的令牌,以获取有关用户的经过验证的信息。
- 使用 Firebase Authentication Admin SDK 为用户创建自定义令牌。
- 使用该令牌在客户端上登录 Firebase。
步骤 2 和 3 必须在受信任的环境中进行,例如您的开发机器、您控制的服务器或 Cloud Functions。
推荐阅读
- android - 从我的 Android 应用调用 Google Pay 意图时出现错误“您已超过银行设置的最大交易金额”
- python - 如何计算 OCR 系统的置信度分数?
- javascript - 道具值返回未定义
- javascript - 从动态加载的 URL 中删除“#comments”?
- reactjs - React:如何将状态传播到封闭的父级
- python - 为什么 isinstance 不能将 io.BytesIO 识别为 io.IOBase 的子类?
- javascript - discord.js 变量计数
- angular - 在 ng build --prod "./node_modules/ng2-pdf-viewer/fesm5/ng2-pdf-viewer.js" 时出现错误
- vba - 按组和条目自动增加编号
- xamarin.android - 在移动到 xamarin.android 中的主应用程序之前显示登录页面