信任 Google API 响应对象和所有权

2024-04-17

我已经在我的网络应用程序中成功实现了 Google Login,使用适用于客户端 Web 应用程序的 OAuth 2.0 https://developers.google.com/identity/protocols/OAuth2UserAgent#example3。对于大多数需求,我只需要让用户登录我的应用程序一次,然后将 id_token 传递回我的服务器以对其进行身份验证,并在成功时将 JWT 令牌返回给前端。通过在浏览器中存储 JWT 令牌,用户不必每次访问页面时都进行记录。

现在我想在我的应用程序中构建一些额外的功能,这些功能需要我代表用户进行操作,所以我必须逐步要求额外的范围 https://developers.google.com/identity/sign-in/web/incremental-auth。我想我在这方面有把握。

在客户端,我代表用户获得使用 Google API 的同意,然后使用我获得的不记名令牌向该 API 发出请求,然后我从 Google 获得一个对象。

现在我想将该对象传送到我的服务器(我的后端),以将一些信息存储在与登录到我的系统的用户关联的数据库中。如何在我的服务器上验证我通过浏览器代理从 Google 返回的对象实际上属于将其传送到我的服务器的用户。

如何阻止某人使用带有有效 JWT 令牌的 cURL 到我的服务器并传送一些他们自己创建的任意构造的 Google 对象。我在 Google 响应对象中没有看到任何可以在我的服务器上验证其真实性的内容(就像我可以使用从成功登录中获得的 id_token 一样,如上所述)here https://developers.google.com/identity/sign-in/web/backend-auth)。也许该对象上有一个“子”字段(我认为这是 Google 的身份概念),如果我首先可以信任该对象的真实性,它至少让我知道它属于 Google 用户。

谁能帮我纠正过来,给我一个相当直观的心理模型来组织我的想法,并告诉我我的担忧是否偏离了基础,或者我是否从完全错误的角度来处理这个问题?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

信任 Google API 响应对象和所有权 的相关文章

随机推荐