3.3. STS를 사용하는 SSO
JBoss EAP는 SP가 STS에 연결할 수 있는 여러 가지 로그인 모듈을 제공합니다. STS(PicketLinkSTS
)도 실행할 수 있습니다. 보다 구체적으로, PicketLinkSTS
는 다른 보안 토큰 서비스에 대한 여러 인터페이스를 정의하고 확장 지점을 제공합니다. 구현은 구성을 사용하여 연결할 수 있으며 구성을 통해 일부 속성에 대해 기본값을 지정할 수 있습니다. 즉, PicketLinkSTS
는 보안 토큰을 생성하고 관리하지만 특정 유형의 토큰을 발행하지 않습니다. 대신 여러 토큰 프로바이더를 연결할 수 있는 일반 인터페이스를 정의합니다. 따라서 각 토큰 유형에 대한 토큰 프로바이더가 존재하는 한 다양한 유형의 토큰을 처리하도록 구성할 수 있습니다. 또한 보안 토큰 요청 및 응답 메시지의 형식을 지정합니다.
다음 단계는 JBoss EAP STS를 사용할 때 보안 토큰 요청을 처리하는 순서입니다.
-
클라이언트가
PicketLinkSTS
로 보안 토큰 요청을 보냅니다. -
PicketLinkSTS
는 요청 메시지를 구문 분석하고 자카르타 XML 바인딩 개체 모델을 생성합니다. -
PicketLinkSTS
는 구성 파일을 읽고 필요한 경우STSConfiguration
개체를 만듭니다. 구성에서WSTrustRequestHandler
에 대한 참조를 가져오고 요청 처리를 핸들러 인스턴스에 위임합니다. -
요청 핸들러는
STSConfiguration
을 사용하여 필요할 때 기본값을 설정합니다(예: 토큰 수명 값을 지정하지 않는 경우). -
WSTrustRequestHandler
는WSTrustRequestContext
를 생성하고 Jakarta XML 바인딩 요청 오브젝트와PicketLinkSTS
에서 수신한 호출자 주체를 설정합니다. -
WSTrustRequestHandler
는STSConfiguration
을 사용하여 요청 중인 토큰 유형에 따라 요청을 처리하는 데 사용해야 하는SecurityTokenProvider
를 가져옵니다. 프로바이더를 호출하고 구성된WSTrustRequestContext
를 매개 변수로 전달합니다. -
SecurityTokenProvider
인스턴스는 토큰 요청을 처리하고 발급한 토큰을 요청 컨텍스트에 저장합니다. -
WSTrustRequestHandler
는 컨텍스트에서 토큰을 가져와 필요한 경우 암호화하고 보안 토큰을 포함하는 WS-Trust 응답 개체를 구성합니다. -
PicketLinkSTS
는 요청 핸들러에서 생성한 응답을 지정하여 클라이언트로 반환합니다.
STS 로그인 모듈(예: STSIssuingLoginModule, STSValidatingLoginModule, SAML2STSLoginModule 등)은 일반적으로 사용자 인증을 위해 STS를 사용하도록 JEE 컨테이너의 보안 설정의 일부로 구성됩니다. STS는 로그인 모듈과 동일한 컨테이너에 배치되거나 웹 서비스 호출 또는 다른 기술을 통해 원격으로 액세스할 수 있습니다.