【问题标题】:How to change google token expiration time?如何更改谷歌令牌到期时间?
【发布时间】:2020-03-02 15:32:29
【问题描述】:

我正在通过 google 使用 google auth 对用户进行身份验证,我在几秒钟内读取了过期令牌参数 exp,但是当我不得不尝试将这个时间转换为年时,我的令牌将在 50 年后过期. 我得到这方面的信息:google token info 我使用 java 库并获得以下信息:

GoogleIdToken idToken = verifier.verify(idTokenString);
if (idToken != null) {
  Payload payload = idToken.getPayload();

  // Print user identifier
  String userId = payload.getSubject();
  System.out.println("User ID: " + userId);

  // Get profile information from payload
  String email = payload.getEmail();
  boolean emailVerified = Boolean.valueOf(payload.getEmailVerified());
  String name = (String) payload.get("name");
  String pictureUrl = (String) payload.get("picture");
  String locale = (String) payload.get("locale");
  String familyName = (String) payload.get("family_name");
  String givenName = (String) payload.get("given_name");
  Long expires = payload.payload.getExpirationTimeSeconds(); // this returns to me 1583167719 seconds. 

我可以更改令牌的有效期吗?

【问题讨论】:

    标签: java google-oauth google-authentication


    【解决方案1】:
    {
      "access_token": "XXXX", 
      "id_token": "XXX", 
      "expires_in": 3599, 
      "token_type": "Bearer", 
      "scope": "https://www.googleapis.com/auth/userinfo.profile", 
      "refresh_token": "XXX"
    }
    

    访问令牌响应应为 3600,即一小时,这是行业标准

    3,600 秒 = 60 分钟 = 60 分钟

    您要链接地址的页面是令牌验证,它只是验证 Id 令牌是否有效出于某种原因,此端点实际上返回令牌到期时间的 unix 时间戳(自 1970 年 1 月 1 日起的秒数)

    {
      "iss": "https://accounts.google.com",
      "azp": "407408718192.apps.googleusercontent.com",
      "aud": "407408718192.apps.googleusercontent.com",
      "sub": "117200475532672775346",
      "at_hash": "3UrVjh2VbWK-KYiElu2eiA",
      "name": "Linda Lawton",
      "picture": "https://lh3.googleusercontent.com/a-/AOh14GhroCYJp2P9xeYeYk1npchBPK-zbtTxzNQo0WAHI20=s",
      "given_name": "Linda",
      "family_name": "Lawton",
      "locale": "en",
      "iat": "1583164112",
      "exp": "1583167712",
      "alg": "RS256",
      "kid": "17d55ff40991d6b0efd392b91a33e54c0e218b",
      "typ": "JWT"
    }
    

    我可以更改令牌的有效期吗?

    授权服务器的所有者没有设置令牌过期时间。

    【讨论】:

      猜你喜欢
      • 2012-05-10
      • 2013-09-13
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 2016-10-11
      • 2014-01-07
      相关资源
      最近更新 更多