了解使用 Windows 本机 WPF 客户端登录 ADFS

Understanding ADFS Login With Windows Native WPF Client

我已经阅读了大量关于 ADFS 与 NodeJS/Angular 或其他前端 Web 框架集成的文献,以及一般流程的工作原理(并通过 Auth0 建立了概念证明 - Angular起始代码),但我不明白这如何与本机 WPF Windows 应用程序一起工作?

使用基于浏览器的客户端(和 NodeJS 后端),用户将被重定向到浏览器中的 ADFS 登录页面,然后使用 SAML 进行身份验证。

有了 WPF 客户端(和 NodeJS 后端),就没有浏览器了。此外,用户是否已经通过其 Windows 帐户的身份验证? WPF 应用程序是否必须打开内部浏览器才能执行此身份验证(对我来说似乎有点 "jank")?或者有更简单的方法吗?其他企业原生 Windows 应用程序如何实现这种无缝的 ADFS SSO?

对于本机,您使用 ADAL 库(使用 OpenID Connect)。

不要使用 SAML,因为这需要浏览器重定向,您已经确定这在 WPF 中很棘手。

有一个很好的例子 here 但请注意,它使用 ADFS 3.0。

在 ADFS 4.0 中,这一切都内置在向导中。