我的访问令牌由 Google 构成?



我通过Google OAuth Playground获得了以下访问令牌

ya29。Ci9aA2EirNhY3InpsLC2Q5ct1XZh2UL60oWWVmkMCBBUL0M-4oAAoigZCJ6O_a4geA

它似乎不是JWT(或JWS/JWE),因为我预计会有3段。第一部分似乎也太短,无法对标记类型进行编码。

我知道令牌必须是合法的,但我无论如何也弄不清楚是什么规范描述了我正在查看的内容。

这个东西是什么格式的?

OAuth 2.0规范规定:

访问令牌是表示发给客户端的授权的字符串。该字符串通常对客户端是不透明的。

也就是说,您通常不应该期望知道格式或从令牌中获得任何其他有用的信息。

当然,Google当然可以使用JWT或其他容器格式的令牌,但我没有看到任何迹象表明这种情况。(这个答案也让我觉得它们不是任何指定的格式。)

您究竟是如何获得令牌的?

使用Google的Sign-In按钮模板初始化登录&像这样授予权限的过程给了我一个JWT (idToken):

<meta name="google-signin-client_id" content="{{ OAUTH2_CLIENT_ID }}">
<script src="https://apis.google.com/js/platform.js?onload=onLoad" async defer></script>
<div id="google-signin-button"
     class="g-signin2"
     data-width="170"
     data-height="30"
     data-onsuccess="onSignIn"
     data-onfailure="onSignInFailure">
</div>
function onSignIn(googleUser) {
    var profile = googleUser.getBasicProfile();
    var idToken = googleUser.getAuthResponse().id_token;
}

相关内容

  • 没有找到相关文章

最新更新