2017-10-04 1 views
0

나는 SAML 문서를 검토하고있었습니다. 응용 프로그램 1이 로그인 요청을 보내면 인증을 위해 IDP에 연락하고 Idp는 사용자를 인증합니다. IDP가 사용자 이름 암호를 묻는 질문에 처음 로그인했다면 username pasword를 저장하고 다음 번에 username password를 묻지 않습니다.누구가 자격 증명 정보로 구성된 saml 쿠키를 설정할 것인가

나는 아래의 의문점이 있습니다. SAML 다른 응용 프로그램에서 동일한 사용자 이름 암호를 사용하여 로그인 할 수 있기 때문에

  1. , IDP는 사용자 이름과 암호를 저장 않는 방법, 내가 그것을 쿠키에 저장하고 읽을 수 있지만 쿠키가 하나의 응용 프로그램에 resticted, 우리는 다른 응용 프로그램 사이에 쿠키를 전달할 수 없습니다. 어떻게 처리됩니까?

  2. 사용자 이름 암호를 저장하기 위해 쿠키를 작성해야하거나 saml/idp api가 처리합니다.

답변

0

SAML IdP를 개발할 때 사용자가 IdP로 돌아 왔을 때마다 해결 된 쿠키에 로그인이 저장되었습니다. 예 : 사용자가 SP1로 이동하여 IdP로 리디렉션되고 사용자 이름/암호로 로그인하며 IdP가 자체 도메인에 대해 쿠키를 설정하고 사용자를 SP1로 리디렉션합니다. 그런 다음 사용자는 SP2로 이동하여 IdP로 리디렉션됩니다. IdP가 쿠키를보고 사용자를 해결하며 세션이 만료되지 않았으므로 세션에서 사용자 정보를로드하고 사용자를 SP2로 리디렉션합니다.

IdP가 중요한 비트를 기억하는 방식이 아닙니다 (SP가 로그인을 결코 볼 수 없기 때문에 IdP가 좋아할 수 있습니다). 중요한 점은 IdP가 SP에 보내는 속성입니다. 따라서 동일한 사용자 로그인으로 인해 동일한 IdP 로그인 이벤트에서 완전히 다른 속성이 SP1 및 SP2로 전송 될 수 있습니다.

SP에서는 응용 프로그램의 특성에 따라 다릅니다. 예를 들어 JSESSIONID를 만들고 IdP에서 SAML 어설 션을 걸어 놓을 수 있습니다. 사용자가 JSESSIONID 제한 시간 내에 반환 한 경우 SP는 이러한 속성을 사용합니다. 시간 초과가 위반 된 경우 SP는 사용자를 IdP로 리디렉션하지만 IdP 쿠키가 만료되지 않은 경우 사용자는 IdP에서 다시 로그인 할 필요가 없으며 특성이 자동으로 SP에 전송됩니다.