使用 winforms 和 identityserver4 在网站上进行 SSO

Sso on website using winforms and identityserver4

对于我的公司,我们需要针对以下简单场景的解决方案: 我们有一个 winforms 应用程序,我们在本地登录。 在此 winforms 应用程序中,有一个帮助按钮,按下此按钮后,网络浏览器应打开,用户在帮助站点中进行身份验证,而无需再次输入凭据。 帮助站点使用 OpenId-connect 进行授权。

我们想使用 Identityserver 作为基础。 我研究了这个例子:https://github.com/IdentityServer/IdentityServer4/tree/main/samples/Quickstarts/3_AspNetCoreAndApis 这里的步骤(对于 openid 连接)是:
帮助站点上的 1 个访问授权页面
2 个站点重定向到身份服务器登录页面
3 用户登录,identiyserver 使用授权码重定向到重定向页面
4 帮助站点获取此授权码并将其交换为有效令牌。
5 用户已通过身份验证

我明白重定向原理,但是让用户重新登录很烦人。 所以我想做的(我认为)是:
1 登录 identityserver 令牌端点并在 winforms 应用程序
中以编程方式使用 clientid/client 秘密获取令牌 2 以某种方式获得授权码以跳过步骤 2 的登录过程和
3 使用 url 和步骤 3 中的代码打开浏览器。

这有可能吗?

更新我已经得出结论,openid connect 不适合我的情况

正如 Mackie 在上一条评论中所说,openid connect 不是正确的解决方案。我正在研究其他技术,例如一次性密码 link 来实现我们的需求。谢谢麦基