【发布时间】:2019-09-13 04:11:55
【问题描述】:
我可以在没有浏览器(或我的应用程序中的嵌入式浏览器)的情况下使用 OAuth 2.0 来执行夜间上传吗?
设置我有一个来自提供商控制台的刷新令牌和访问令牌——Google Drive API
一旦我最初收到我的刷新/访问令牌,我希望使用 Java SDK 来使用/重用这些来上传数据,而无需任何浏览器授权。
【问题讨论】:
标签: security oauth oauth-2.0 google-drive-api
我可以在没有浏览器(或我的应用程序中的嵌入式浏览器)的情况下使用 OAuth 2.0 来执行夜间上传吗?
设置我有一个来自提供商控制台的刷新令牌和访问令牌——Google Drive API
一旦我最初收到我的刷新/访问令牌,我希望使用 Java SDK 来使用/重用这些来上传数据,而无需任何浏览器授权。
【问题讨论】:
标签: security oauth oauth-2.0 google-drive-api
需要浏览器,以便用户同意应用程序访问用户数据的请求。 在用户同意与应用共享数据后,应用可以在没有基于浏览器的流程的情况下使用刷新令牌。
在此处记录:https://developers.google.com/accounts/docs/OAuth2WebServer
您可以使用OAuth 2.0 for Devices 流程: 您的应用可以充当设备,从 google 查询代码,将其显示给用户,并要求用户浏览到验证 URL(例如,使用 (system.out.println...)。
因此仍然需要浏览器,但您的应用程序本身不需要向用户提供网页。
【讨论】:
是的。这正是使用刷新令牌进行无人值守访问的目的。当用户授予该应用程序的权限时,他被特别提示“......即使你没有登录”(或类似的,我不记得确切的措辞)。您将刷新令牌存储在服务器上的某个位置,然后在您的应用需要执行操作时使用它来请求访问令牌。
只是为了澄清您问题中的一些措辞,刷新和访问令牌不会形成一对,所以说“重用这些”实际上应该是“重用这个”,其中“这个”是刷新令牌。
【讨论】: