Openid-connect 或 SAML 2.0
Openid-connect or SAML 2.0
我们目前的申请
后端在 Spring Boot 2(RestAPI's) 中,Angular 在 front-end 中。
身份验证完成后,它目前使用 JWT(Bearer)通过为 RestAPI 传递授权 headers 来执行创建、更新和删除资源。对于读取操作,无需任何授权即可访问。
现在,由于应用程序的增加,我们正在使用 KEYCLOAK 转向 IDP
我想知道给定案例使用哪种类型的 SSO。
SAML 2.0
如果实施,在使用 SAML 进行 SSO 之后,我如何 create/Update/Delete 响应我的 REST 端点?如我所见,SAML 提供了断言,我需要一个持有者令牌来创建资源。
如何对我的 REST 端点的 create/Update/Delete 响应使用断言?
我尝试使用 Spring-Saml 扩展来实现它。但是,我无法实现上述 objective.
OIDC-OAuth
如果实施,我如何过滤 read-only 端点以确保所有 URL 无需授权即可使用?
OIDC 的 Keycloak 默认实现是 out-of-the-box。
我已经使用 Keycloaks 适配器在 oidc 中实现了这个 spring 休息。
谢谢!!
SAML 2.0 是一种较旧的基于 XML 的协议,而 Open Id Connect 是基于 JSON 且浏览器/移动设备友好的。在任何现代架构中都使用 OIDC。另见 this summary。
仍然可以通过使用授权服务器的联合功能将 SAML 身份提供者集成到 OIDC 架构中。但是,您的实际应用程序代码应该对 SAML 一无所知 - 它应该在登录后使用 OAuth 2.0 令牌。
如果可能,我会完全避免使用 SAML。
我们目前的申请
后端在 Spring Boot 2(RestAPI's) 中,Angular 在 front-end 中。 身份验证完成后,它目前使用 JWT(Bearer)通过为 RestAPI 传递授权 headers 来执行创建、更新和删除资源。对于读取操作,无需任何授权即可访问。
现在,由于应用程序的增加,我们正在使用 KEYCLOAK 转向 IDP
我想知道给定案例使用哪种类型的 SSO。
SAML 2.0 如果实施,在使用 SAML 进行 SSO 之后,我如何 create/Update/Delete 响应我的 REST 端点?如我所见,SAML 提供了断言,我需要一个持有者令牌来创建资源。 如何对我的 REST 端点的 create/Update/Delete 响应使用断言?
我尝试使用 Spring-Saml 扩展来实现它。但是,我无法实现上述 objective.
OIDC-OAuth 如果实施,我如何过滤 read-only 端点以确保所有 URL 无需授权即可使用? OIDC 的 Keycloak 默认实现是 out-of-the-box。
我已经使用 Keycloaks 适配器在 oidc 中实现了这个 spring 休息。
谢谢!!
SAML 2.0 是一种较旧的基于 XML 的协议,而 Open Id Connect 是基于 JSON 且浏览器/移动设备友好的。在任何现代架构中都使用 OIDC。另见 this summary。
仍然可以通过使用授权服务器的联合功能将 SAML 身份提供者集成到 OIDC 架构中。但是,您的实际应用程序代码应该对 SAML 一无所知 - 它应该在登录后使用 OAuth 2.0 令牌。
如果可能,我会完全避免使用 SAML。