0

MVC 응용 프로그램에서 사용자 지정 토큰 기반 인증을 구현했습니다. 이제 Azure AD를 OpenID Connect를 사용하여 사용할 수있게되었습니다.MVC 응용 프로그램 Azure AD 및 사용자 지정 인증 지원

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions 
     { 
      ClientId = ADClientId, 
      Authority = ADauthority, 
      Notifications = new OpenIdConnectAuthenticationNotifications() 
      { 
       RedirectToIdentityProvider = (context) => 
       { 

        if (context.Request.Path.Value == "/Account/ExternalLogin" || (context.Request.Path.Value == "/Account/LogOff")) 
        { 

         string appBaseUrl = context.Request.Scheme + "://" + context.Request.Host + context.Request.PathBase; 
         context.ProtocolMessage.RedirectUri = appBaseUrl + "/"; 
         context.ProtocolMessage.PostLogoutRedirectUri = appBaseUrl; 
        } 
        else 
        { 

         context.State = Microsoft.Owin.Security.Notifications.NotificationResultState.Skipped; 
         context.HandleResponse(); 
        } 
        return Task.FromResult(0); 
       }, 
      } 

아래와 같이 시나리오를 수정해야합니다. 기술적 인 제안이 있으시면 1) 로그인 페이지 - 사용자 이메일 주소를 받으십시오

2) 사용자 ID를 확인하고 Azure AD 이메일 인 경우 사용자가 암호를 입력하는 Microsoft 인증 페이지로 이동하십시오 사용자가 사용자 정의 사용자 ID를 입력하면

3), 응용 프로그램의 내부 인증 흐름에 암호 페이지를 처리 ​​

+0

나는 당신이 달성하고자하는 것을 이해합니다. 하지만 귀하의 응용 프로그램에서 빌드해야한다고 생각합니다. 우리는 Azure AD와 함께이 인증 흐름을 수행 할 필요가 없습니다. 두 개의 인증 엔드 포인트를 통합해야하기 때문에. –

+0

예. 사전 설정된 이메일 주소에 대한 oAuth Azure 비밀번호 창으로 직접 리디렉션 할 수 있습니까? – user3527063

+0

이것을 달성 할 수 있는지 여부를 말하기는 어렵습니다. 그러나 그것은 이론이 가능합니다. 이 시나리오에서는 Azure AD가 아니라 애플리케이션 자체에 대한 링크입니다. –

답변

0

귀하의 요구 사항은 제공된 이메일 주소가 푸른 활성에 기존 사용자 계정에있는 경우, 검사에 선회하는 경우 디렉토리 임차인은 Microsoft Graph을 사용하여 쿼리하고 확인할 수 있습니다.

예를 들어, 다음 Graph Api REST 호출은 제공된 이메일 주소가 거주자의 기존 사용자의 이메일 주소인지 확인하는 데 도움이됩니다.

https://graph.microsoft.com/v1.0/users?$filter=startswith(mail%2C+'[email protected]')