Python 桌面应用程序 - 在 OAuth2 PKCE 流程中关闭浏览器

阿南德

我已经使用 Python 使用 Okta 实现了 OAuth2 PKCE 流程。它是一个桌面应用程序。我使用自定义 URL 方案作为重定向 URL 来接收授权代码。一切正常,浏览器在重定向 URL 中看到自定义 URL 方案时打开应用程序,但浏览器保持打开状态并显示正在进行的 Okta 登录图像。如何关闭浏览器或在浏览器中显示适当的消息?

加里·阿彻

这是一个棘手的流程,很难做到完美,但登录后返回网页而不是直接返回应用程序会给你更好的控制:

默认选项

使用重定向 URI,例如 x-mycompany-desktopapp:/callback,它会自动调用,但这会导致浏览器页面剩余/混乱,正如您所发现的。

插页式选项

将重定向 URI 更新为这样的值,这是您需要托管的网页:

如果您在上述页面上执行“查看源代码”,您将看到它在单击“继续”按钮时调用自定义 URI 方案。这至少可以让您控制登录后的行为和消息传递。

更多信息

我的博客文章有更多详细信息和您可以运行的 NodeJS 桌面代码示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用@WithMockUser(与@SpringBootTest)OAuth2用户资源服务器应用程序内

桌面应用程序开发中的Python

如何将Slack的OAuth2与Java桌面应用程序一起使用

如何在单个带有Spring Cloud Security Oauth2的Spring引导应用程序中使用多个Oauth2 SSO服务器?

如何通过curl获取GitHub OAuth2状态代码以模拟Web应用程序流程?

检测Vaadin应用程序中的浏览器关闭

oauth2 openid connect javascript(电子)桌面应用程序

Flutter应用中的Oauth2流

关闭浏览器选项卡并退出Angular2应用程序

移动应用程序的OAuth2流程

具有桌面应用程序安全性的OAuth2

我应该对本地桌面应用程序的OpenID Connect使用PKCE吗?

Spring Security OAuth2是否通过PKCE支持浏览器(Angular)客户端的授权代码流?

如何在React应用程序中存储OAuth2访问令牌?

授权流程应针对Web应用程序同时使用密钥和PKCE吗

如何为React单页应用程序使用PKCE实现OAuth2授权代码授予?

Google Oauth2应用程序类型Web服务器与桌面应用程序?

如何在网守(oauth2)中执行仅应用程序身份验证

应用> OAuth2服务器> Facebook> OAuth2服务器>应用

oauth2 django应用程序中的用户会话

一个应用程序中的Spring Security OAuth2和FormLogin

Spring OAuth2和AngularJS应用程序中的身份验证/授权

使用Java Oauth2的推文应用程序中的令牌无效或过期

如何从 Django 请求中获取 oauth2 客户端应用程序

带有后端 Web 应用程序调用 Graph API 的本机应用程序的 Oauth2 流程

如何仅为 Spring Boot Security OAuth2 应用程序中的某些类启用 OAuth2?

您能否解释 PKCE 的 oauth2 授权代码流如何工作以及为什么它为浏览器客户端提供更多安全性?

使用桌面应用程序处理 Cognito OAuth2 访问代码

OAuth2 PKCE 流程 - 从单页应用程序安全地使用访问令牌