如果我从此页面上的示例中截取access_token
:
https://developers.google.com/picker/docs/
......看起来像这样:
ya29.Glx7BW_OsFJ1CSjJ_kdt9iZixJAZHjvllMtJO09EccpURJPbCXudNP6teBz6HZ0T_ioaQLNna323UPpBQN-N0aCLWXfDVCvq4xXkbi5kKQhfwS0xakcsrNmzD5B8OA
如果我将其粘贴到此处:
......我告诉它的情况不正常。但是,如果我将Firebase身份验证令牌粘贴到其中,那么它的格式正确,您可以看到其有效负载。
最终,我尝试在Google Picker API中使用Firebase身份验证令牌,但我无法弄清楚如何翻译它。
答案 0 :(得分:0)
我使用的是firebase.auth().currentUser.getIdToken
,但看起来firebase.auth().getRedirectResult()
获得的身份验证令牌与Picker API的格式相同。
答案 1 :(得分:0)
Google API访问权限基于范围https://developers.google.com/identity/protocols/googlescopes
您必须指定请求访问令牌时所需的范围。
您收到的每个访问令牌仅限于原始请求中的范围和应用程序。它们不可互换。
您需要设置特定的Google Picker API请求,才能获得所需的访问令牌https://developers.google.com/identity/protocols/OAuth2
希望这有帮助
答案 2 :(得分:0)
" ya29 *" token是Google的访问令牌,它不是jwt(对于api调用者来说是不透明的)。 是的firebase允许您在登录过程中添加范围。之后,您将获得一个ID令牌,其中显示用户是谁以及可用于访问Google API的单独访问令牌。 如果你看https://firebase.google.com/docs/auth/web/google-signin,你会看到:
echo '<a href="test.com', urlencode(."Villeneuve d'ascq".), '">test</a>';