Java桌面应用程序的ADFS/SAML身份验证
我有一个Java桌面应用程序。我发现了很多关于web应用SSO身份验证的在线资源。我需要一个旧的学校桌面应用程序相同的东西。基本上,我需要该应用程序打开一个浏览器窗口,让用户根据ADF进行身份验证,然后取回一个令牌Java桌面应用程序的ADFS/SAML身份验证,java,authentication,single-sign-on,saml,adfs,Java,Authentication,Single Sign On,Saml,Adfs,我有一个Java桌面应用程序。我发现了很多关于web应用SSO身份验证的在线资源。我需要一个旧的学校桌面应用程序相同的东西。基本上,我需要该应用程序打开一个浏览器窗口,让用户根据ADF进行身份验证,然后取回一个令牌 如何使用ADFS/SAML添加SSO身份验证 桌面应用程序。没有浏览器 WS-Fed和SAML是围绕浏览器重定向构建的 你为什么需要SAML?那么OpenID Connect/OAuth呢 如果这是一个选项,请查看ADALJava示例-。ADFS中对OAuth的支持有限。V3.0 另
如何使用ADFS/SAML添加SSO身份验证 桌面应用程序。没有浏览器 WS-Fed和SAML是围绕浏览器重定向构建的 你为什么需要SAML?那么OpenID Connect/OAuth呢 如果这是一个选项,请查看ADALJava示例-。ADFS中对OAuth的支持有限。V3.0 另一种选择是使用主动配置文件(web服务)而不是被动配置文件(浏览器) 但这是WS-Trust而不是SAML。我找到了答案
注:这不是一项容易的任务。将所有内容整合起来大约需要一周的时间。没有什么可以阻止桌面应用程序使用浏览器。我需要SAML2,因为这是一个要求。请记住,嵌入式浏览器被认为不是执行SAML2/OpenIDConnect身份验证的安全方式。父应用程序通常仍然可以读取浏览器和cookie的内容。这意味着父应用程序可以截取用户的凭据-它应该永远无法看到这些凭据。因此,iOS和Andriod为本机应用程序提供了启动独立浏览器的机制,然后使用应用程序开发人员向操作系统注册的系统注册uri方案重定向回应用程序。我不相信Java有能力为自己注册uri方案。