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

时间:2019-01-09 20:11:15

标签: google-api google-oauth2

我已经使用OAuth 2.0 for Client-side Web Applications在我的Web应用程序中成功实现了Google登录。对于大多数需求,我只需要让用户登录一次我的应用程序,然后将id_token传递回我的服务器以对其进行身份验证,并在成功时将JWT令牌还给前端。通过在浏览器中存储该JWT令牌,用户不必在每次访问页面时都进行登录。

现在,我想在我的应用程序中内置一些其他功能,这些功能需要我代表用户执行操作,因此我必须incrementally ask for additional scopes。我认为我在这方面有能力。

在客户端,我同意代表用户使用Google API,然后使用Bearer令牌返回给该API进行请求,然后从Google检索一个对象。

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

要阻止某人使用带有其有效JWT令牌的cURL到我的服务器,并阻止他们自己创建的一些任意构造的Google对象。我没有在Google响应对象中看到任何可以验证其在服务器上的真实性的东西(就像here所述,我可以使用从成功登录后获得的id_token)。如果我首先可以信任对象的真实性,那么该对象上可能会有一个“ sub”字段(我认为这是Google的身份概念),至少可以让我知道它属于Google User。

任何人都可以直截了当地给我一个合理的,直观的思维模式来整理我的想法,并告诉我我在这里的担忧是否偏离了我的视线,还是我是从一个完全错误的角度出发来解决这个问题的? ?

0 个答案:

没有答案