Pav*_*iev 8 oauth-2.0 google-oauth
我正在开发一个命令行实用程序,它需要通过 REST API 访问后端服务器。
我试图避免实施我自己的身份验证机制并使用一种(或多种)公共身份验证服务(如谷歌、Facebook、亚马逊)。
我试图让客户端接受凭据并针对身份验证提供程序进行身份验证,并且在不要求用户打开 Web 浏览器并提供回令牌的情况下执行此操作。客户端将是开源的,以避免信任问题(即用户凭据不会发送到我的后端服务器)。
我对授权不感兴趣,我只关心对我的后端服务器进行身份验证,而无需用户保留另一组凭据(并且不将用户凭据发送到我的后端服务器)。
如何让我的客户端通过身份验证提供程序进行身份验证并获取令牌以与我的服务器进行通信,而无需用户使用 Web 浏览器?
我知道你说“不要打开网络浏览器”,但是如果该浏览器位于其他设备上(例如他们的手机?)怎么办?
\n\n如果可以接受,您可以使用OAuth 2.0 for Devices方法,向用户提供一个简短的字母数字代码,他们在http://google.com/device上输入该代码以验证来自另一台设备的请求。此 OAuth 流程设计为在没有浏览器(如命令行)的环境中工作。
\n\n要查看此身份验证流程的演示,请访问YouTube TV网站,按键盘上的 \xe2\x86\x90 键,然后选择“登录”。
\n\n您自己也可以轻松尝试 \xe2\x80\x93\xc2\xa0 在开发人员控制台中创建一个 OAuth 客户端(类型为“已安装的应用程序”->“其他”),然后按照curl文档中的示例进行操作(可以是请务必将code令牌请求中的演示替换为device_code从代码端点的初始请求接收到的代码)。使用任何示例 JWT 解码器对生成的 id_token 进行解码,如下所示。
在您的情况下,您应该请求范围,该范围将在您的令牌端点调用的响应中profile返回一个,您可以从中提取用户的 Google 个人资料 ID(ID 令牌的字段)。id_tokensub
| 归档时间: |
|
| 查看次数: |
2341 次 |
| 最近记录: |