Java 如何从SAML响应中识别用户?

Java 如何从SAML响应中识别用户?,java,saml-2.0,spring-saml,shibboleth,Java,Saml 2.0,Spring Saml,Shibboleth,我已经实现了单点登录来访问我的Sp应用程序。它使用shibboleth服务器作为身份提供程序。在我登录idp系统后,我收到idp的Saml响应 其中包含Saml断言,但我现在不知道如何在我的应用程序中识别此用户。 saml断言包含以下数据: * 您的身份提供商提供了以下属性 urn:oasis:names:tc:SAML:2.0:nameid格式:transient AADZWNYZXQXLKZPY2ZEKYK/REAN2JVTXI6MEVAFBOZWKMNEZMB+TKQCMWW4LZT70H

我已经实现了单点登录来访问我的Sp应用程序。它使用shibboleth服务器作为身份提供程序。在我登录idp系统后,我收到idp的Saml响应 其中包含Saml断言,但我现在不知道如何在我的应用程序中识别此用户。 saml断言包含以下数据:

*

您的身份提供商提供了以下属性 urn:oasis:names:tc:SAML:2.0:nameid格式:transient AADZWNYZXQXLKZPY2ZEKYK/REAN2JVTXI6MEVAFBOZWKMNEZMB+TKQCMWW4LZT70HX3CAVEYRBSDXKT2GLVKPGUNCVME5FFIPJJVAGE7JDRGSFEF6CQZDARE9OLW/1HKIA/S3hu9IpiU 瓮:oid:1.3.6.1.4.1.5923.1.1.1.9affiliate@test.ukfederation.org.uk, 附属公司,i8mqNNzYfweNDzGr/PafYaMzWko=, alice@test.ukfederation.org.uk瓮:oid:1.3.6.1.4.1.5923.1.1.1.1 affiliate@test.ukfederation.org.uk使附属 i8mqNNzYfweNDzGr/PafYaMzWko=,alice@test.ukfederation.org.uk 瓮:oid:1.3.6.1.4.1.5923.1.1.1.10affiliate@test.ukfederation.org.uk, 附属公司,i8mqNNzYfweNDzGr/PafYaMzWko=, alice@test.ukfederation.org.uk瓮:oid:1.3.6.1.4.1.5923.1.1.1.6 affiliate@test.ukfederation.org.uk使附属 i8mqNNzYfweNDzGr/PafYaMzWko=,alice@test.ukfederation.org.uk

*

我试图使用name id来识别我系统中的用户和idp中的用户,但每次登录后该值都会发生变化

例如:谷歌套件使用urn:oasis:names:tc:SAML:1.1:nameid格式:emailAddress作为名称标识符 使用电子邮件地址可以找到用户,但在这种情况下,我被卡住了。
请问哪种方法最好?我应该使用属性吗?

这使用对象标识符(OID)格式

e、 g.1.3.6.1.4.1.5923.1.1.1.6是Eduperson PrincipalName


参考。

Thank you@nzpcmad这很有帮助,但我尝试了同一服务器中的另一个组织(不同的sso-端点),我得到了以下响应:urn:oid:1.3.6.1.4.1.5923.1.1.1.6member@xxxx.co.uk,cn=sstreet,ou=users,o=49ff400e-14f7-4902-8089-1f9b93e0152b,dc=tenant1,dc=com,hDhFcskKp/UiYoxqwAKokCv8sJs=,ssterert,5a11d0e-e8a7-a9b2-8ea9-a2ea9de0a42e@xxxxx.co.uk似乎是ldap查询。在这种情况下,eduPersonPrinciaplname是什么?猜猜看,cn=sstreet即sstreet或member@xxxx.co.uk.