2017-11-15 4 views
6

이 시나리오에서 내 Relying Party (RP)은 사용자에 대한 정보를 얻고 자 할뿐만 아니라 사용자를 RP의 내부 사용자로 매핑해야합니다. 이 때문에 나는 Identity Provider (IdP)의 기존 사용자를 RP의 사용자/그룹에 매핑하고 싶습니다. OpenID Connect (IdP와 RP는 트러스트 관계를 가지고 있으며 둘 모두 저에게 제어됩니다)에서 어떻게 이것을 할 수 있습니까?OpenID Connect에서 사용자 매핑

이 문제를 해결하는 다른 방법은 무엇입니까?

+0

최종 사용자를 인증하는 데 ID 토큰을 사용하고 있습니까? 또한 그 경우, 당신이 지금 가지고있는 문제는 내부 사용자와 ID 토큰의 하위 매개 변수의 불일치입니까? –

+0

또한 디렉터리 동기화를 고려 했습니까? –

+1

디렉토리 (IDP에서 RP로)를 동기화하는 방법을 모르겠다. 문제는 ... – Dunken

답변

3

여기에는 두 가지 방법이 있습니다. 하나는 OpenID Connect 관점입니다. 그리고 다른 하나는 사용자 디렉토리 처리입니다.

이드 토큰

오픈 아이디 접속 사양은 ID 토큰 항 (ID 토큰 정의와 특징 설명에 link)를 정의 주장한다. 그리고 그것은 우리에게 우리 자신의 주장을 할 수있는 자유를줍니다. 예를 들어 RPsub이라는 최종 사용자를 식별하고 매핑하는 데 의존 할 수 없다면 standard claims 이외의 사용자 정의 클레임을 사용할 수 있습니다.

ID 토큰은 다른 클레임을 포함 할 수 있습니다. 이해되지 않은 사용 상관 항은 예를 들어, 당신에게 RP 사용자 ID를 제공 ID 토큰의 제 rp_identifier을 정의 할 수

를 무시해야한다.

IDP에 대한 일부 구성이 필요하며 IDP 저장소에 필수 식별자를 저장해야합니다.

디렉터리 동기화

사용자 디렉토리를 설정하는 방법을 확실하지. 그러나 외부 IDP를 사용하는 경우 내부 및 외부 사용자 디렉토리를 동기화 할 수 있습니다. 나는이 도메인의 전문가는 아니지만 참조 용으로 this 문서에서는 Azure Active Directory 동기화에 대해 설명합니다.

사용자 동기화가 OpenID Connect의 범위를 벗어나지 만 OpenID Connect로 이동하는 많은 사람들은 내부 사용자를 IDP 제공 사용자로 매핑해야합니다.

+0

Id 토큰 소유권 주장 : while 내 RP 때문에 IDP (또는 그 주장)에 특별한 것을 추가하고 싶지 않을 가능성이 있습니다. 내 RP는 하위 클레임에 의존 할 수 있지만 내 RP는 어떤 서브 스크립 션이 필요한지 미리 알아야합니다. 디렉토리 동기화 : 내부 IDP입니다. 목표는 RP의 IDP에서 디렉토리를 읽습니다 (RP는 이미 LDAP와 비슷한 기능을 수행함). – Dunken

+0

@Dunken 내가 제안한 것은 RP에서 다른 식별자로 서브를 매핑 할 수있는 방법이었습니다. 내가 아는 한, OIDC doe는 RP가 기대하는 바를 알 수있는 다른 방법을 제공하지 않습니다. ID 토큰의 유효성 검사 및 최종 사용자 식별은 RP에 달려 있습니다. RP 사용자 레지스트리의 변경 사항에 대해 생각하지 않으시겠습니까? –

+0

Btw, LDAP를 사용하고 있으므로 다음을 살펴보십시오. https://lsc-project.org/doku.php LDAP 사용자 동기화에 관한 내용입니다. –