我正在Google App Engine上开发应用程序,并且正在研究OAuth2.0的详细信息。我的问题如下:如果黑客拦截OAuth2.0访问令牌,他是否可以伪造来自Google云端控制台中定义的“授权JavaScript来源”之一的请求?
如果不清楚,可以提供更多详细信息:在Google Cloud控制台中,您可以使用Google的JS api(完整流程here)定义您使用javascript发送的OAuth2.0客户端ID。部分过程是您获得访问令牌,然后您可以使用该令牌验证后续请求。作为额外的安全层,所有请求都需要来自您在云控制台中定义的特定来源(请参见图像)。因此,只接受来自该域的请求。
但我想知道,如果黑客确实知道要从我的一个用户那里获取访问令牌,那么该请求仍然需要来自授权来源。
那个黑客可以转到https://myapp.appspot.com,用例如Chrome Javascript控制台调整javascript,并使用来自用户的访问令牌进行恶意调用,好像他是从用户那里偷走了令牌的吗? / p>
正如我所看到的那样,请求来自授权的JS源,并且具有有效的OAuth2.0访问令牌。我错过了什么?
答案 0 :(得分:0)
对于appengine中的OAuth2.0,用户只是同意应用程序仅代表他使用服务。但真正的沟通是在AppEngine上运行的JavaScript应用程序和服务提供者之间进行的。用户不会参与调用它是代表用户调用API的应用程序。
请浏览以下链接以获取整个概念
https://developers.google.com/api-client-library/python/guide/aaa_oauth