2016-10-12 2 views
0

SAML2.0을 사용하고 Okta와 통합하려고합니다. 나는 okta 사이트에 주어진 spring-security exmaple을 사용해 보았고 정상적으로 작동하고있다. 이제 okat에 웹 응용 프로그램을 추가하려고합니다. okta 대시 보드에서 웹 응용 프로그램을 시작하거나 클릭하면 서비스 공급자에게 SAML 어설 션을 보냅니다. 나는 사용자의 이름, 성을 읽고 싶다. 웹 애플 리케이션에서 index.jsp 페이지를 말하게한다.웹 응용 프로그램 (서비스 제공 업체) 수신시 Okta SAML 어설 션 응답을 읽는 방법

응답을 인쇄 한 다음 내 tomcat 로그를 확인하십시오.

정보 org.opensaml.common.binding.security.SAMLProtocolMessageXMLSignatureSecurityPolicyRule - 프로토콜 메시지 서명의 검증에 성공, 메시지 유형 : {항아리 : 오아시스 : 이름 : TC : SAML : 2.0 : 프로토콜} 응답

그러나 때 내가 index.jsp에서 SecurityContextHolder.getContext(). getAuthentication() 객체를 가져 오려고합니다. null이 반환됩니다.

사용자가 Okta에서 생성되어 응용 프로그램에 할당되었습니다. 그러나이 사용자는 내 웹 응용 프로그램 데이터베이스에 없습니다. 내가보고 싶은 것은 Okta에서 생성 된 사용자가 내 웹 앱으로 전송된다는 것입니다. 나는 성, 성 등의 메타 데이터를 읽고 싶다. 가능합니까? 누군가 그것을 시도 했습니까?

내 웹 앱은 이미 CasAuthentication을 사용하고 있습니다.

+0

기존 사용자로 로그인하여 index.jsp에 액세스하려고하면 SecurityContextHolder.getContext(). getAuthentication() 객체가 생성 된 것을 볼 수 있지만 표시가 명백한 casAuthentication으로 인증되었음을 알 수 있습니다. 그러나 SP 웹 앱에 로그인하기 전에 Okta에서 오는 사용자 세부 정보를 어떻게 읽을 수 있는지 확신 할 수 없습니다. – trextrex

답변

0

나는 내 자신의 질문에 대한 답을 찾았습니다. 유사한 문제에 직면 한 동료를 위해 여기에 게시하십시오.

기본적으로 두 개 이상의 인증 관리자를 사용하는 경우 별칭 이름이 다르며 "ref"섹션의 saml beans에서 올바른 별칭 이름을 참조하고 있는지 확인하십시오. 내가 그것을 고치면 내 것이 잘 작동하기 시작했다.

관련 문제