我们目前的应用
后台采用Spring Boot 2(RestAPI's),前端采用Angular.Authentication完成后,目前使用JWT(Bearer)通过传递RestAPI's的授权头来执行创建、更新、删除资源。对于读取操作,不需要任何授权就可以被所有人访问。
现在,由于应用的增加,我们正在转向使用KEYCLOAK的IDP。
我想知道在给定的情况下,应该使用哪种类型的SSO,如果实现了SAML 2.0,在使用SAML的SSO之后,我如何为我的REST端点创建UpdateDelete响应?
SAML 2.0如果实现了,在使用SAML的SSO之后,我如何为我的REST端点创建UpdateDelete响应? 我看到SAML提供了断言,我需要一个承载令牌来创建资源。
我试图使用Spring-Saml扩展来实现这个功能。但是,我无法实现上述目标。
OIDC-OAuthI如果实现了,我如何将只读端点过滤到所有特定的URL's在没有授权的情况下可以使用?Keycloak默认的实现是OIDC的开箱即用。
我已经在oidc中使用spring rest的Keycloaks适配器实现了这个功能。
谢谢!
SAML 2.0是一个较老的基于XML的协议,而Open Id Connect是基于JSON和浏览器移动友好的。在任何现代架构中都使用OIDC。也请参见 本摘要.
通过使用授权服务器的联盟功能,仍有可能将SAML身份提供者整合到OIDC架构中。然而,你的实际应用代码应该对SAML一无所知--它应该只是在登录后使用OAuth 2.0令牌。
如果可能的话,我会完全避免使用SAML。