【发布时间】:2020-08-31 00:42:49
【问题描述】:
我有一个命令行应用程序,我想使用带有访问代码流和托管登录 UI 的 OAuth2 对 AWS Cognito 进行身份验证。对于类似的情况,Google Cloud 文档显式使用http://localhost:N 重定向URI recommend,以便应用程序可以处理身份验证后的访问代码:
此授权流程类似于用于 Web 服务器应用程序的授权流程。主要区别在于已安装的应用必须打开系统浏览器并提供本地重定向 URI 来处理来自 Google 授权服务器的响应。
但是,使用 Cognito localhost URI 仅允许/推荐用于测试目的:
另一种解决方案是使用“浏览器外”URI urn:ietf:wg:oauth:2.0:oob 在浏览器中显示访问代码并让用户将其复制粘贴到应用程序,但 Cognito 似乎不支持它.
目前我倾向于运行一个自定义的 OAuth2 回调处理程序,它只会告诉用户复制粘贴访问代码,但我发现它在 Cognito 方面并不友好。
那么问题来了:
- 推荐使用 Cognito 对桌面/命令行应用程序进行身份验证且用户干扰最小的方法是什么?
- 如果我忽略 Cognito 关于 localhost 重定向 URI 的建议,会出现什么问题?
【问题讨论】: