使WPF应用程序(带有节点后端)与ADFS一起使用?

时间:2017-07-20 23:05:46

标签: wpf single-sign-on saml adfs okta

我们的一位客户要求我们将系统与ADFS(Active Directory联合服务)集成,而另一位客户要求我们与Okta集成。他们希望体验是这样的:最终用户打开Windows应用程序(在他们的域加入计算机上),并且能够立即使用其中一个身份提供者的隐式身份验证。没有额外的点击或注册。如有必要,我愿意创建集成到这些不同身份提供者的应用程序的多个副本。

我们当前的设置使用Node / Express作为后端(托管在亚马逊网络服务上),所有流量都通过此API发送。我们的客户端界面是一个wpf Windows应用程序。这似乎是一种不太常见的设置。目前,用户必须使用电子邮件和密码注册,并且必须使用相同的电子邮件和密码登录才能开始使用该应用程序。

这个问题有3个部分让我非常困惑(我是一名知识有限的实习生,所以如果可能的话,请解释为我5岁)。另一方面,我相信我对单点登录在概念上如何工作有充分的理解(我们是服务提供商,ADFS / Okta是身份提供商)。即使你能回答这些问题的一部分,我也会非常感激!

  1. 我必须对API后端做什么(如果有的话)?我假设一切都需要通过Windows客户端完成吗?但后来我看到了护照saml package,但我不确定是否需要它来完成这项任务。

  2. 我需要对前端做些什么?我已经尝试了auth0's sample windows application中的一个,但似乎所有内容仍然通过登录屏幕。至少对于任何社交媒体连接。我们希望在没有登录屏幕的情况下做到这一点,并希望没有像Auth0这样的专有软件(因为我们已经管理了自己的用户数据库)。我们只是想要一些东西,以便在我们的wpf应用程序启动时,应用程序查询用户的信息(通过ADFS或Okta),然后在所有幕后,用户自动登录。这里有什么指示?

  3. 我在'主'活动目录Windows服务器端(这将在客户端的企业网络上)需要做什么?我已经看到了设置回调网址,证书,元数据和其他内容的提示,但我不确定所有这些是什么。很多问题只是参考了,但没有解释它需要什么或为什么?

  4. 最后,如果任何问题含糊不清,我很抱歉,我试图进行研究,但似乎所有的部分要么太高级,要么就是不适用于我的设置。感谢您的时间!

1 个答案:

答案 0 :(得分:0)

ADFS等依赖于WS-Fed和SAML 2.0等联邦协议,因此IDP行为由协议决定。

没有基于浏览器的功能只能让您登录。<​​/ p>

您将始终进入IDP登录屏幕。经过身份验证后,同一IDP上的其他应用程序将无法进行身份验证。他们可以根据cookie无缝登录您。

您无法查询用户信息。直到你知道用户是谁。

在ADFS端,您可以手动配置RP(您的应用)。