从桌面应用程序启动 Web 应用程序基于 OpenId 和 OAuth

问题描述

我们有一些完全基于桌面(基于 WPF)的应用程序,而最近我们正在开发的应用程序都是 Web 应用程序 (SPA)。我们的 Web 应用程序将使用 OpenID 连接和授权代码流来进行身份验证和授权。事实上,我们的 Web 应用程序现在已经在使用 OAuth 流程,但使用的是我们计划停用的“密码授权”。

我们还有另一个用例,即我们有一个小的启动栏。用户可以通过首先输入他们的用户名/密码(非 OAuth 流程)来启动它,然后启动器就会出现。这个启动器将只有按钮,用于启动他们的桌面应用程序(基于 WPF)。这启用了单点登录方法,这样用户在启动每个桌面应用程序时就不必重新输入他们的凭据。

我们现在计划允许用户使用启动器中的网络应用程序链接来启动我们的网络应用程序(这将单独启动一个新的浏览器)。用户可能已经输入了他们的用户名/密码,我们现有的非基于 OAuth 的内部身份验证服务将返回一个内部令牌,该令牌可以使用几天。现在,由于我们的网络应用程序基于 OpenID 和 OAuth 并且使用授权代码流,我们如何才能进行这种集成。

我们最初的想法是 Web 应用程序在浏览器中打开,启动器必须传递它最初获得的令牌并将其交换为授权代码,然后流程保持不变。这里的挑战是当用户退出 Web 应用程序或从启动器注销时,启动器和 Web 应用程序之间的通信将是一个挑战。另请注意,我们有在组织内部和外部使用的启动器用例(来自互联网)

有什么建议吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)