OAuth 2.0是否始终需要在流中使用浏览器?

yftpprvb  于 2023-03-17  发布在  其他
关注(0)|答案(2)|浏览(145)

我是否可以在没有浏览器(或应用中的嵌入式浏览器)的情况下使用OAuth 2.0执行夜间上传?

设置我有来自提供商控制台的刷新令牌和访问令牌- Google云端硬盘API

我希望使用Java SDK来使用/重用这些来上传数据,而无需任何浏览器授权,一旦我最初收到我的刷新/访问令牌。

w41d8nur

w41d8nur1#

OAuth 2.0需要浏览器才能获得用户同意

需要浏览器,以便用户可以同意应用程序访问用户数据的请求。用户同意与应用程序共享数据后,应用程序可以使用刷新令牌,而无需基于浏览器的流。
记录于:https://developers.google.com/accounts/docs/OAuth2WebServer

非浏览器应用程序的替代方案

您可以使用OAuth 2.0 for Devices流程:您的应用可以作为一个设备,从谷歌查询代码,显示给用户,并要求用户浏览到验证URL(例如,与(system.out.println ...).
因此,浏览器仍然是必需的,但应用程序本身不需要向用户提供网页。

5f0d552i

5f0d552i2#

是的。这正是使用刷新令牌进行无人值守访问的意义所在。当用户授予应用权限时,系统会特别提示他“......即使您未登录”(或者类似的提示,我记不清确切的措辞了)。您可以将刷新令牌存储在服务器上的某个地方,然后在应用需要执行任务时使用它来请求访问令牌。
只是为了澄清您问题中的一些措辞,刷新和访问令牌不构成一对,所以说“重用这些”,实际上应该是“重用这个”,其中“这个”是刷新令牌。

相关问题