我们当前的应用
后端位于Spring Boot 2(RestAPI)中,而Angular位于前端。认证完成后,当前使用JWT(持有者)通过传递RestAPI的authorization头部来执行创建、更新和删除资源。对于读取操作,所有人都可以在没有任何授权的情况下访问它。
现在,由于应用程序的增加,我们正在使用KEYCLOAK迁移到IDP
我想知道在给定的情况下使用哪种类型的SSO。
如果实现了SAML 2.0,在使用SAML进行SSO之后,我如何为REST端点创建/更新/删除响应?正如我所看到的,SAML提供了断言,我需要一个持有者令牌来创建资源。如何使用断言为REST端点创建/更新/删除响应?
我尝试使用Spring-Saml扩展来实现这一点。但是,我没能达到上述目标。
如果实现了OIDC-OAuth,我如何将只读端点过滤到所有可以在未经授权的情况下使用的特定URL?对于OIDC,Keycloak默认实现是开箱即用的。
我已经在oidc中使用了用于spring rest的Keycloaks实现了这一点。
谢谢!!
发布于 2020-05-16 16:54:03
SAML 2.0是一个旧的基于XML的协议,而Open Id Connect是基于JSON的,对浏览器/移动设备友好。在任何现代架构中,都可以使用OIDC。另请参见this summary。
通过使用授权服务器的联合特性,仍然可以将SAML身份提供者集成到OIDC体系结构中。然而,您的实际应用程序代码应该对OAuth一无所知-在登录后,它应该只使用SAML2.0令牌。
如果可能的话,我会完全避免使用SAML。
https://stackoverflow.com/questions/61811518
复制相似问题