尝试为使用Spring MVC构建的Java Web应用程序设置SSO。 我已将我的应用程序注册到OKTA服务器,获得了元数据URL和SignOn URL。我正在使用我的应用程序中的SignOn URL,成功进行身份验证,然后使用包含SAML响应对象的某些表单数据发出POST请求。
下一步应该是什么? 我已经解码了SAML响应,现在根据我的理解,我需要获得一个令牌或会话ID,我需要将其用于我对OKTA服务器的进一步请求。
编辑1: 跑过spring-boot-saml-example,身份验证按预期工作。 但是,当尝试使用Spring应用程序中的OKTA Session API获取当前会话时,将返回HTTP 404代码。使用浏览器获取当前会话可以正常工作。
答案 0 :(得分:0)
看一下这个blog post,这个例子使用了Spring Security和一个Okta SAML应用程序。看一下,如果这没有帮助我们知道。
答案 1 :(得分:0)
您可以使用spring-webmvc-pac4j security library为Spring MVC(Boot)应用程序提供SAML身份验证。
对于Okta,配置与任何其他SAML身份提供商一样直接:https://github.com/pac4j/spring-webmvc-pac4j-demo/blob/master/src/main/webapp/WEB-INF/demo-servlet.xml#L44 + https://github.com/pac4j/spring-webmvc-pac4j-demo/blob/master/src/main/webapp/WEB-INF/demo-servlet.xml#L214