为什么GoogleAuthUtil.getToken()方法会生成两种类型的令牌?

Lej*_* KR 5 openid android oauth-2.0 openid-connect google-plus-signin

我正在整合谷歌登录我的Android应用程序.我正在使用新提到的Google+登录Api,并能够获取我的应用程序的用户名,电子邮件,个人资料照片.但是,当我用不同的参数调用GoogleAuthUtil.getToken()时,我得到两个一种tokens.One是base64编码的idToken(我认为它是JWT或Json Web Token)但另一个生成令牌不同和更短的令牌.为什么会发生这种情况?如果我使用

String accountName = Plus.AccountApi.getAccountName(mGoogleApiClient);
            Account account = new Account(accountName, GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
            String scopes = "audience:server:client_id:" +SERVER_CLIENT_ID;
            String idToken = "";
            try {
                idToken = GoogleAuthUtil.getToken(getApplicationContext(), account, scopes);
            } catch (IOException e) {
                Log.e(TAG, "Error retrieving ID token.", e);
            } catch (GoogleAuthException e) {
                Log.e(TAG, "Error retrieving ID token.", e);
            }
            return idToken;
        }
Run Code Online (Sandbox Code Playgroud)

它返回一个像这样的id标记(值编辑)

eyJhbGciwwHHwSUzsss1gFFggdNiIsImtpZCI6ImU5GGGTtjViNTA4ZjI2MjI2ZWVmZDJlNTgwMmQ2MzBlYmU0MGGGZTQ4NGEifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuss9tIiwic3ViIjoiMTEyMzA2OTkwMjA1NDYyMjkzMDExIiwiYXpwIjoiNDU5NTM4MTI1OTIzLXUzNGZ0aTZyOWJnNGM4MDFjZW82MzVhNWVoNTZzLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiggdWWaWwiOiJsZWppbmtyQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhsGTdWQiOiI0NTk1MzgxMjU5MjMtNDZlN3Q3YzNhbmQ3M2VqcThyZWZvZTFzYTIzdm9wOHEuYXBwcy5nb29nbGV1c2VyY29GGTrVudC5jb20iLCJpYXQiOjE0MzI2OTc4MTMsImV4cCI6MTQzMjcwMTQxM30.C3gG3ldJ1qaqBSZF8u88UH0ZVDfLL6mRjz2H0IqenJkjz86XUc0bc3m59UduWPR7tNDfzOP2oTcf3-iinyREd4dek9iXeJegrYgJKkKF-UvC2Dsl00GGIeHHhwbgSHb3W2Ev-L-p8_XHMRHPorWb8uunwHddxxZ1ZVurNS1HHFshuJT

但如果我使用以下代码

token = GoogleAuthUtil.getToken(
                        LoginActivity.this,
                        mEmail,
                        "oauth2:https://www.googleapis.com/auth/urlshortener https://www.googleapis.com/auth/userinfo.email ");
Run Code Online (Sandbox Code Playgroud)

我得到一个像这样的令牌ya29.gAFseYYXxt2gh3ssEWSHhgdhgDL9EQR4prBQpNRjigRNcgQMPHHFRWiaWpwdshVclC_ZFDVtNodhggHJ8J

为什么会这样?我的后端服务器(其他人正在开发)只采用最后一种类型的令牌(它很短).这与OpenID 2.0弃用和迁移到OpenID Connect有关吗?问题是我的应用程序再次询问用户是否允许我选择生成第二种类型令牌!伙计们请对此有清楚的认识.