赫克托·鲁伊斯(Hector Ruiz)
我有一个Java桌面应用程序。我发现了很多在线资源,这些资源谈论Web应用程序的SSO身份验证。对于老式台式机应用程序,我也需要同样的东西。基本上,我需要该应用程序打开浏览器窗口,让用户针对ADFS进行身份验证,然后取回令牌。
如何使用ADFS / SAML添加SSO身份验证?
赫克托·鲁伊斯(Hector Ruiz)
我找到了答案。
- 首先,桌面应用程序需要显示一个浏览器窗口。使用JavaFX WebView可以轻松实现。我已经使用JavaFX WebView成功测试了Google和ADFS登录。注意:如果使用ADFS,则必须将ADFS设置为使用基于表单的身份验证。
- 需要构建一个辅助Web服务。该Web服务将提供一种受任何联合身份验证机制(SAML2,OAuth等)保护的方法。我无法用Java做到这一点。有一些解决方案,例如JOSSO,但它们非常笨拙或严重缺乏。但是,C#对联合身份验证具有出色的支持,这使其成为完成此任务的绝佳选择。
- 当用户需要进行身份验证时,桌面应用程序会显示浏览器窗口,该窗口会自动调用上述方法。联合身份验证握手后,浏览器将能够访问该方法。此方法告诉桌面应用程序是否允许呼叫用户访问。
- 最后一步是关闭浏览器窗口并登录用户。
注意:这不是一件容易的事。将所有内容整理在一起需要大约一周的时间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句