【问题标题】:Freshness and single-use of an id_tokenid_token 的新鲜度和一次性使用
【发布时间】:2016-01-25 08:44:26
【问题描述】:

谁能帮帮我...? 我想在我的应用程序中使用 Google 登录作为登录。由于我需要在服务器前对用户进行适当的身份验证,因此我需要验证 id_token 的新鲜度和一次性使用。换句话说,id_token 应该是最近创建的,而不是使用的。相反,可能会发生冒充...

根据OpenId Connect标准,服务器设置了一个nonce或challenge并发送到用户的客户端,将其添加到请求中并作为响应包含在id_token中。此 nonce 有助于此类验证。

有没有一种方法可以使用 Google 登录/身份验证一次性使用令牌的新鲜度?

非常感谢提前!

【问题讨论】:

  • ID 令牌中的“iat”(在时间戳发布)和“exp”(过期时间戳)对您的目的有用吗? developers.google.com/identity/sign-in/android/…
  • 嗨史蒂文,谢谢你的想法。假设我的时钟与谷歌同步,以某种方式我可以验证新鲜度。但是,nonce 的解决方案更安全。但是 'iat' 和 'exp' 不会阻止重用 'id_token'。保留 id_tokens 列表以查找重复项是我最不想做的事情....此外,到期无法自定义。

标签: android google-signin google-openid google-identity-toolkit google-identity


【解决方案1】:

【讨论】:

  • 谢谢萌成!我知道这是可能的......但在这种情况下,我应该打开一个不受欢迎的 Web 视图。让我更好地解释一下自己。在developers.google.com/identity/choose-auth,建议在安卓应用中使用“谷歌登录”。我可以使用适用于 Android 的 Google 登录 (developers.google.com/identity/sign-in/android) 获得同样的效果吗?如果没有......是否有任何替代 Web 解决方案的方法?
猜你喜欢
  • 2017-10-20
  • 2015-07-12
  • 1970-01-01
  • 1970-01-01
  • 2014-11-01
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多