2017-02-25 3 views
1

나는이 세상에 아주 익숙하며 지난 2 주 동안 많은 것을 배웠다. 요점은 여러 Idp를 지원하는 Service Provider Initiated SSO (응용 프로그램에서)를위한 솔루션 초안을 작성하는 것입니다. onelogin의 javasaml 라이브러리를 사용하고 프로토콜을 이해하기 위해 인증 요청/응답을 생성하기 위해 자체 ID 공급자를 사용하도록 샘플 키트를 구성했습니다.SP Init SSO with javasaml

다음은 추가로 이해해야 할 질문입니다. Plesae가 조언합니다. 내가 언급 한 바와 같이

는 우리의 응용 프로그램이 SSO 흐름을 시작합니다, 고객 IDP

  1. 를 확인하고 여러 IDP의를 지원해야한다. 하나의 공통점을 가지고 있기를 기대하고 있습니다. 고객이이 흐름을 시작하도록 보호 된 리소스입니다. 나는 그런 생각을 잘못하고 있습니까? IDP를 식별하고 식별하기 위해 쿼리 문자열을 사용하는 것과 같습니다. https://www.myapp.com?param=customerid
  2. 나는 또한 응용 프로그램 URL이 하위 도메인에게 가 Idp.How 내가 이것을 구현합니까 식별하기 위해 고유 한 고객에 매핑되는 정보를 포함 할 수 있음을 알게
  3. ?
  4. 다른 접근 방법이 있습니까? 사용자에게 식별자를 선택하라고 요구하지 않고 내 솔루션에서

사용자

는 응용 프로그램 이름은 SSO 사용자 이름과 다를 수 있습니다. Idp 제공자가 고객 사용자 저장소를 통해 saml 응답의 속성으로 내 응용 프로그램 사용자 이름을 제공하도록 요청할 수 있음을 알게되었습니다.

  1. 고객이 질문 1처럼 sp 응용 프로그램 사용자 이름을 querystring으로 보낼 수 있습니까?
  2. sp 응용 프로그램 사용자 이름을 얻는 다른 방법이 있습니까? 다시 사용자에게 식별을 요구하지 않고

지식과 지침을 공유해 주셔서 감사합니다.

답변

1

일반 SAML 기반 WebSSO가 수행되면 (계정 연결 없음) 인증 (사용자 ID)은 SP 측이 아니라 IdP 측에서만 발생합니다. SP 'just'는 인증 된 ID에 대한 주장을 사용합니다. 이 주장에는 SP (응용 프로그램)가 ID를 로컬 '사용자 프로필'에 매핑하는 데 사용할 수있는 속성 설명이 포함될 수 있습니다. 표준 SAML 메타 데이터는 전송되어야하는 속성 명령문을 정의하는 방법을 제공하지 않으므로 이것을 IdP의 관리자와 협상해야합니다.

다른 방식으로 IdP 검색을 수행 할 수 있으므로 SAML 사양은 기본 IdP 쿠키에 대해 설명합니다.

사용자가 선택할 수있는 IdP 목록을 제시하거나 HTTP 요청의 일부 정보를 사용하여 일부 스마트 추측을 할 수 있습니다.

+0

타이 버나드. 일반 SAML 기반 WebSSO는 무엇을 의미합니까? 여기에 다른 접근법이 있습니까? 나는 아직 Idp의 관리자와 이야기하고있다. 그래서 저는 이것에 대한 더 많은 지식을 정말로 고맙게 생각합니다. – rrunique

+0

SAML은 또한 소위 계정 연결 (연계라고도 함)을 허용합니다. 이 경우 IDP 측에 하나씩, SP 측에 ID 사일로 2 개가 있으며 계정은 서로 연결되어야합니다. 이를 달성하기 위해 SP가 인증 대화 상자를 제공한다는 힌트 일 수있는 '영구'NameIdFormat이 사용됩니다.인증되면, 계정 링크가 두 엔티티에 설정되고 나중에 불투명 한 핸들 만 교환됩니다. SP가 IdP의 향후 주장에서이 불투명 한 핸들을 수신하면 SP는 이것이 연결된 ID를 압니다. –