使用桌面应用程序处理Cognito OAuth2访问代码 [英] Cognito OAuth2 access code handling with a desktop app
本文介绍了使用桌面应用程序处理Cognito OAuth2访问代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个命令行应用程序,我希望使用带有访问代码流和托管登录UI的OAuth2针对AWS Cognito进行身份验证。对于类似的情况,Google Cloud使用http://localhost:N
重定向URI显式recommend文档,以便应用程序在认证后可以处理访问码:
此授权流程类似于用于Web服务器应用程序的流程。主要区别在于,安装的应用程序必须打开系统浏览器并提供本地重定向URI来处理来自Google授权服务器的响应。
但是,对于Cognito,只允许/推荐使用localhost URI进行测试:
另一种解决方案是使用浏览器外&Quot;URIurn:ietf:wg:oauth:2.0:oob
在浏览器中显示访问代码,并让用户将其复制粘贴到应用程序中,但Cognito似乎不支持它。
目前,我倾向于运行一个自定义的OAuth2回调处理程序,该处理程序只会告诉用户复制粘贴访问代码,但我觉得从Cognito方面看它并不友好。
所以,问题是:
- 使用Cognito验证桌面/命令行应用的建议方式是什么,并将用户干扰降至最低?
- 如果忽略Cognito关于本地主机重定向URI的建议,会出现什么问题?
推荐答案
环回URI
在桌面应用中,您可以使用localhost HTTP URL接收授权响应,这是一种有效的技术。
Cognito警告是关于使用本地主机URL进行Web应用程序响应,当然这只适用于开发人员PC。 您可以在使用环回桌面应用程序时忽略该警告。
浏览器外URI
这是几年前用来从Web视图读取授权响应的,在OAuth for Native Apps中不再推荐使用。
私有URI方案
第二个有效的选项是我更喜欢的选项,因为它感觉更完整。它包括通过以下形式的URL接收授权响应,并将方案注册到操作系统以指向您的应用程序:
- com.mycompany.mydesktopapp:/callback
矿山资源
如果有帮助,我有几个使用Cognito的桌面示例/博客文章。您可以在您的PC上运行示例,看看您喜欢哪一个:
这篇关于使用桌面应用程序处理Cognito OAuth2访问代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文