ber*_*eal 2 oauth-2.0 amazon-cognito
我有一个命令行应用程序,我想使用带有访问代码流和托管登录 UI 的 OAuth2 对 AWS Cognito 进行身份验证。对于类似的情况,Google Cloud 文档明确建议使用http://localhost:N重定向 URI,以便应用程序可以在身份验证后处理访问代码:
此授权流程类似于 Web 服务器应用程序所使用的授权流程。主要区别在于,安装的应用程序必须打开系统浏览器并提供本地重定向 URI 来处理来自 Google 授权服务器的响应。
但是,对于 Cognito,本地主机 URI 仅允许/建议用于测试目的:
一种替代解决方案是使用“浏览器外”URIurn:ietf:wg:oauth:2.0:oob在浏览器中显示访问代码并让用户将其复制粘贴到应用程序中,但 Cognito 似乎不支持它。
目前,我倾向于运行一个自定义的 OAuth2 回调处理程序,该处理程序只会告诉用户复制粘贴访问代码,但我认为从 Cognito 方面来看它并不真正友好。
那么,问题是:
环回URI
在桌面应用程序中,您可以使用本地主机 HTTP URL 来接收授权响应,这是一种有效的技术。
Cognito 警告是关于使用 localhost URL 进行 Web 应用程序响应,这当然只适合开发人员 PC。使用环回桌面应用程序时,您可以忽略该警告。
超出浏览器 URI
几年前,它被用来从 Web 视图读取授权响应,并且在OAuth for Native Apps中不再推荐。
私有 URI 方案
第二个有效的方法是我更喜欢的选项,因为它感觉更加集成。它涉及通过以下形式的 URL 接收授权响应,并向操作系统注册该方案以指向您的应用程序:
矿山资源
如果有帮助的话,我有一些使用 Cognito 的桌面示例/博客文章。您可以在 PC 上运行示例,看看您更喜欢哪个:
| 归档时间: |
|
| 查看次数: |
1158 次 |
| 最近记录: |