如何在接收web应用程序(服务提供者)时读取Okta SAML断言响应



我正在使用SAML2.0并与Okta集成。我试着使用在okta网站上给出的春季安全示例,它工作得很好。现在我试图将我的web应用程序添加到okat,当我在okta仪表板中启动或单击我的web应用程序时,我想看看什么SAML断言被发送到服务提供商。我想在我的web应用的index.jsp页面上读取用户的姓和名。

我看到tomcat日志中打印了如下响应:

INFO org.opensaml.common.binding.security.SAMLProtocolMessageXMLSignatureSecurityPolicyRule -协议消息签名验证成功,消息类型:{urn:oasis:names:tc:SAML:2.0:protocol}响应

但是当我试图在index.jsp中获得SecurityContextHolder.getContext(). getauthentication()对象时,我得到null。

在Okta中创建用户并分配给应用程序。但是这个用户在我的web应用程序数据库中不存在。所有我想看到的是在Okta创建的用户被发送到我的web应用程序。我只是想读元数据像名字,姓氏等。这可能吗?有人试过吗?

我的web应用程序已经使用CasAuthentication。

我找到了自己问题的答案。在这里发布给可能面临类似问题的同行。

基本上,如果您使用多个身份验证管理器,请确保您的别名不同,并且您在"ref"部分中引用了saml bean中的正确别名。修改后,我的就开始正常工作了。

最新更新