【发布时间】: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