我需要访问OAUTH2的密码授予类型

我需要访问OAUTH2的密码授予类型,oauth,google-oauth,Oauth,Google Oauth,我在一家大公司工作,我们正在开发一个应用程序,它需要访问令牌而无需web浏览器界面。原因是我们有一个技术限制,我们不能向用户提供一个辅助键盘,让他们输入他们的谷歌凭证。我们可以在设备上为用户验证提供键盘 授权是OAuth2的第一步,OAuth2实现的服务通常会弹出浏览器请求用户登录和同意,例如,要访问Google API,无论应用程序类型、we应用程序、移动应用程序等,授权都将通过用户通过弹出窗口的登录和同意来完成。这不是我们要找的 OAuth2还提供了一种“密码”授权类型,可用于直接为访问令牌

我在一家大公司工作,我们正在开发一个应用程序,它需要访问令牌而无需web浏览器界面。原因是我们有一个技术限制,我们不能向用户提供一个辅助键盘,让他们输入他们的谷歌凭证。我们可以在设备上为用户验证提供键盘

授权是OAuth2的第一步,OAuth2实现的服务通常会弹出浏览器请求用户登录和同意,例如,要访问Google API,无论应用程序类型、we应用程序、移动应用程序等,授权都将通过用户通过弹出窗口的登录和同意来完成。这不是我们要找的

OAuth2还提供了一种“密码”授权类型,可用于直接为访问令牌交换用户名和密码,而无需重定向(弹出窗口)。这也是我们从谷歌寻找的。然而,谷歌官方开发者网站上并没有任何此类OAuth的信息


有没有人能帮上忙?

谷歌不提供密码授权类型,也不太可能这样做


如果您的应用程序专用于Google Apps用户,您可以创建一个服务帐户,并让域管理员为一组API将其列入白名单。有关更多详细信息,请参见和

作为一种解决方法,也许您可以在单独的应用程序中进行身份验证。流看起来像这样

  • 创建一个网页,提示用户进行身份验证,并请求脱机访问
  • 只有一次,在他选择的PC上,用户访问该页面并给出他的授权。您现在有了该用户的刷新令牌,您将存储该令牌(可能存储在服务器上)
  • 你的应用程序需要访问该刷新令牌,因此一旦你的用户对自己进行身份验证,应用程序就可以检索该刷新令牌,将其转换为访问令牌,而Robert是你父亲的兄弟

  • Google Oauth要求用户使用浏览器授予其权限。但是,这可以与应用程序本身分开完成。根据您环境的具体情况,这可能会有所帮助。您能否提供一个如何做到这一点的示例?有文件吗?我们正在努力解决的问题是如何将单独完成的许可反馈给原始应用程序。我将此作为一个答案发布,因为它更容易格式化。服务帐户似乎允许应用程序在没有用户信息的情况下访问google api,请参见下文。但我们需要代表用户访问用户信息。关于如何做到这一点,你还有其他建议吗?