首页 > 解决方案 > 我应该使用 GoogleIdToken (jwt) 还是将其替换为另一个服务器发布的 jwt?还有关于客户 ID(“aud”)的问题

问题描述

我正在使用 java 的"com.google.api-client" % "google-api-client"服务器来使用 OAuth 进行注册和登录。我有两个问题:

  1. 我应该重新使用谷歌身份验证令牌作为我的服务器 jwt 吗?

使用 Google 的令牌生成,我的服务器无法验证是否过期。我目前的计划是使用 google 令牌让人们登录(并使用 java 库验证他们的令牌),然后发出我自己用于会话的 jwt。

这是 google-signin 的标准设计吗?或者服务器是否打算重新使用谷歌令牌来处理会话?

  1. 有没有办法对我的aud(客户端标识符)进行编码/加密?

在客户端上生成令牌需要我将我aud的(客户端的 google 开发人员 ID)提交到 google-signin 服务器。当我创建这个标识符时,我没有提供谷歌可以用来解密这个值的秘密。这个值是公开的吗(可以在使用我的应用程序的任何浏览器上看到)?

我的问题是服务器端的开发人员文档要求您检查audgoogle 令牌声明数据中的值。但是,由于此令牌是通过任何应用程序使用 google-signin 库可以解码的编码发送的 - 存在问题。

有没有办法解决这个问题?似乎任何有权访问我的客户端的人都可以使用他们的浏览器来欺骗登录作为我的客户端 ID。

标签: google-signin

解决方案


推荐阅读