2017-09-07 5 views
1

Azure AD의 UI 흐름을 사용자 정의 할 수 있는지 여부에 대한 지침이 필요하므로 인증 전에 UPN & Tenantid를 기반으로 일부 권한 부여를 수행 할 수 있습니다.Azure AD 인증 경험 흐름

내 응용 프로그램의 현재 상태에서 처음 시작될 때 인증이 발생하고 동의가 발생합니다. 인증 흐름이 완료되면 앱은 임차인이 액세스 권한 (승인)을받을 자격이 있는지 확인한 다음 앱이 계속 실행됩니다.

현재 FLOW : 인증> 사용자 동의

요청 FLOW : 체크 임차인 ID> 유효성 검사 액세스> 인증> 사용자 동의

우리가 사용자의 이메일 주소가 이전에 검증 할 수 있도록이 흐름을 제어 할 수있는 능력이 필요 사용자에게 앱에 대한 액세스 권한이 있는지 확인합니다. UPN이 허가되지 않은 경우 기본적으로 인증을 수행하지 않습니다. 목표는 앱 스토어에서 앱을 사용할 수있는 시점이며 누구나 다운로드 할 수있는 반면 로그인 경험을 제어하고자하는 경우입니다.

Auth의 경우 MSAL을 사용하고 있습니다. 또한 OpenID Connect를 사용하는 응용 프로그램 버전도 있습니다.

감사 안내.

+0

나는 이것이 일반적으로 불가능하다고 말하려고합니다. 그러나 질문에 대한 대답을하기 전에 다음 질문을 제안하고자합니다. 사용자가 로그인하지 않은 경우 어떻게 "임차인 ID"를 확인하겠습니까? 그들의 세입자 **가 ** 무엇이 될지 어떻게 알았습니까? –

+0

당신이 할 수있는 한 가지 일은 엔드 포인트에서 세입자 전용 로그인을 사용하는 것입니다. 그러나 이는 각 세입자마다 다른 로그인 버튼을 만들지 않는 한 여러 테넌트에 대한 것이 아니라 단일 테넌트 애플리케이션에서만 작동합니다. 엔드 포인트에 세입자 전용 로그인이있는 경우 세입자 이외의 사용자에 대해서는 로그인 화면에 "사용자를 찾을 수 없음"이라고 표시되므로 다른 세입자의 사용자는 로그인 할 수 없게됩니다. –

+0

감사합니다 숀 - 떠올랐다는 아이디어는 다음과 같습니다 ... a. App 에 액세스 할 수있는 TenantId의 목록을 작성하십시오. b. 사용자에게 UPN 을 지정하는 양식을 제시하십시오. c. UPN에 따라 TenantID를 확인하고 목록에 대해 확인하십시오 d. 검색된 TenantID가 허용 된 세입자 목록에 있으면 인증 으로 진행합니다. 이는 앱을 처음 시작할 때만 발생합니다. –

답변

0

설명에 따르면 Azure AD에서 멀티 테넌트 응용 프로그램을 사용할 때 특정 거주자를 제한해야합니다. AFAIK, Azure AD에는 현재 멀티 테넌트 앱의 테넌트 허용 목록에 매핑되는 애플리케이션 구성 속성이 없습니다.

해결 방법은 JWT 토큰에서 tenantID (tid) 클레임을 확인하여 응용 프로그램의 코드에서 해당 유효성 검사를 수행하는 것입니다. 시나리오에서 인증하기 전에가 아니라 앱에서 사용자를 인증하는 과정에서 액세스 제어가 필요합니다.