2017-02-14 13 views
0
우리는 유스 케이스 아래에 지원 한 스프링 MVC 기반 응용 프로그램 구축 할

:을 SSO를 할 수있는 서비스 제공 업체와 연결하는 스프링 MVC 기반 응용 프로그램을 빌드하는 방법

  1. 사용자 액세스 로그인 할 수있는 응용 프로그램의 URL을 응용 프로그램에 넣습니다.
  2. 응용 프로그램에 로그인하기 위해 유효한 자격 증명을 입력하면 사용자는 SSO를 수행하기 위해 서비스 공급자 응용 프로그램에 액세스 할 수 있습니다.
  3. 서비스 공급자 응용 프로그램에 액세스 할 때 SAML 응답을 생성하고 서비스 공급자 ACS (어설 션 소비자 서비스) URL에 게시해야합니다.
  4. 또한 IDP에 의해 시작된 SSO 외에도 사용자가 올바른 자격 증명을 입력 한 후에 인증 요청을 응용 프로그램 로그인 페이지에 게시 할 SP 시작 SSO를 지원해야하며 응용 프로그램은 게시 된 서비스 공급자로 리디렉션해야합니다 인증 요구).

응용 프로그램에는 고유 한 로그인 페이지 및 인증 메커니즘이 있어야하며 인증을 위해 다른 ID 공급자로 리디렉션하지 않아야합니다.

오픈 SAML 라이브러리를 사용하여 SAML 응답을 생성하는 일반적인 Spring MVC 기반 애플리케이션을 사용해야하며 위의 사용 사례를 충족시키기 위해 다른 SAML 빌더를 사용할 수 있어야한다.

답변

0

이것은 앱이 SAMLv2 호환 IdP를 번들로 제공한다는 것을 의미합니다. IdP는 나중에 인식합니다 (SAMLv2 SP 역할을하는 다른 응용 프로그램이 SSO를 수행하려고 할 때 인증이 항상 다시 발생합니다)

"token"은 쿠키 일 가능성이 높으며 (즉, HTTP 리버스 프록시 사용)

를 사용하여 앱과 IdP가 동일한 'FQDN'뒤에 배포 된 경우에만 보안 기반 위주의 쿠키를 사용할 수 있음을 의미합니다.

다른 문제 : SSO가 다른 SP에서 시작 되었기 때문에 사용자가 실제로 IdP와 유효한 세션을 갖고있는 경우 '로그인 화면'을 표시 할 때 앱이 어떻게 알 수 있습니까?

SAML 방식 : 먼저 이것을 확인하려면 '수동 AuthnRequest'를 수행해야합니다.

결론 : 귀하의 유스 케이스는 달성 될 수 있지만 노력은 상당히 많이 일어납니다. 나는 lib/framework가 있다는 것을 알지 못한다. OOTB에서 이것을 제공 할 것이다.