Flutter 使用自定义令牌的Firebase身份验证错误
我正在尝试使用KakaoTalk凭据对firebase中的用户进行身份验证。为此,我从KakaoTalk获得了Flutter 使用自定义令牌的Firebase身份验证错误,flutter,firebase-authentication,Flutter,Firebase Authentication,我正在尝试使用KakaoTalk凭据对firebase中的用户进行身份验证。为此,我从KakaoTalk获得了accesstoken。然后尝试使用该令牌对用户进行身份验证。这是我的密码: String token = await kakaoService.getAccessToken(); await firebaseAuth.signInWithCustomToken( token: token, ); 获得如下访问令牌:nmAzFpOF9
accesstoken
。然后尝试使用该令牌对用户进行身份验证。这是我的密码:
String token = await kakaoService.getAccessToken();
await firebaseAuth.signInWithCustomToken(
token: token,
);
获得如下访问令牌:nmAzFpOF9XrijP-ZoFpQbVluGZ4lLDbZxOCXIAo9c-sAAAFxrID6xA
但是得到这个错误:
自定义令牌格式不正确。请检查文件。[无效的断言格式。需要3个点分隔的段。]
这里怎么了?我遗漏了什么吗?似乎令牌通过
kakaoService返回。getAccessToken()
不是用于Firebase身份验证的有效自定义令牌。事实上,给出了错误消息,它甚至似乎不是JWT
Firebase身份验证的自定义令牌必须具有特定格式,如中所述。您通常希望按照此过程获取Firebase身份验证的有效令牌:
步骤2和3必须在受信任的环境中进行,例如您的开发机器、您控制的服务器或云功能。似乎令牌通过kakaoService返回。getAccessToken()不是用于Firebase身份验证的有效自定义令牌。事实上,给出了错误消息,它甚至似乎不是JWT Firebase身份验证的自定义令牌必须具有特定格式,如中所述。您通常希望按照此过程获取Firebase身份验证的有效令牌:
第2步和第3步必须在受信任的环境中进行,例如您的开发机器、您控制的服务器或云功能。查看有关使用自定义令牌的Firebase文档: Firebase需要成功解码客户端提交的身份验证令牌,然后使用其声明验证对Firebase资源的访问。因此,Firebase要求自定义令牌按照其文档中规定的规则进行格式化。(它们描述了一个非常典型的JSON Web令牌。)
您从KakaoTalk获得的访问令牌不符合Firebase的令牌规则,因此Firebase不知道如何使用它。我建议您重新访问KakaoTalk文档,看看它是否可以生成Firebase可以使用的标准RS256 JWT令牌。查看有关自定义令牌使用的Firebase文档: Firebase需要成功解码客户端提交的身份验证令牌,然后使用其声明验证对Firebase资源的访问。因此,Firebase要求自定义令牌按照其文档中规定的规则进行格式化。(它们描述了一个非常典型的JSON Web令牌。)
您从KakaoTalk获得的访问令牌不符合Firebase的令牌规则,因此Firebase不知道如何使用它。我建议您重新访问KakaoTalk文档,看看它是否可以生成Firebase可以使用的标准RS256 JWT令牌。哦,我现在看到这个问题已经得到了回答。我猜我不应该一边写咖啡一边写咖啡。谢谢,我感谢你的努力。哦,我现在看到这个问题已经得到了回答。我猜我不应该一边写咖啡一边写咖啡。谢谢,我感谢你的努力。