2017-05-05 3 views
0

내 SP 구현을 테스트하기 위해 Shibboleth IDPv3을 설정했습니다. SP가 SAML 로그온 요청을 보내면 사용자가 Kerberos 자격 증명을 입력하는 Shibboleth IDP 자격 증명 페이지가 표시됩니다 (KerberosAuthNConfiguration을 사용하여 로그인 플로를 구성했습니다). SAML 응답은 인코딩 된 값처럼 보이는 nameId를 반환합니다. 그러나 내가 원하는 것은 NameId 요소가 사용자가 IDP 자격 증명 페이지에 로그인하는 데 사용한 사용자 이름을 포함하는 것입니다.Shibboleth IDPv3 KerberosAuthNConfiguration이있는 NameId

행운을 빌어 여러 XML 구성 파일에서 빈을 구성하려고 시도했지만 몇 번 시도했습니다. 아무도 비슷한 것을 시도해 본 적이 있습니까?

답변

0

saml-nameid.properties 파일을 보면 idp.nameid.saml2.default이라는 매개 변수가 표시됩니다. 귀하의 구성이 인코딩 된 값이 아닌 urn:oasis:names:tc:SAML:2.0:nameid-format:transient의 기본값으로 설정되어 있지만 임의의 문자열로 설정되어있는 것 같습니다.

일시적인 식별자가 아닌 "영구적"식별자를 보내고 싶은 것 같습니다. 이렇게하려면

  1. idp.nameid.saml2.default에서 urn:oasis:names:tc:SAML:2.0:nameid-format:persistent으로 변경하십시오.
  2. 다음으로 saml-nameid.xml 파일에서 영구 NameID 생성기를 활성화해야합니다.
  3. 마지막으로 idp.persistentId.sourceAttribute 속성을 통해 사용자의 nameid에 사용할 속성을 설정해야합니다 (saml-nameid.properties에도 있음).

자세한 내용은 Shibboleth IdP PersistentNameIDGenerationConfiguration page에서 확인할 수 있습니다.

+0

그러나 SAML 요청을 보낸 후에 kerberos를 사용하여 idp 자격 증명 페이지에 로그인하기 위해 사용자가 입력 한 사용자 이름에 의해 NameID가 동적으로 채워지는 것이 가능한지 확실하지 않습니다. 따라서 사용자가 testuser라는 자격 증명을 사용하는 경우 testpass SAML 응답에서 nameId가 testuser로 다시 돌아 오기를 원합니다. – pmolyv85