2016-11-03 2 views
0

Azure AD 응용 프로그램은 Angular 2로 작성되어 있습니다. AD에 로그인하여 토큰을 다시 얻을 수 있으므로 응용 프로그램이 제대로 작동합니다. 그러나 문제는 내가 로그인 할 때마다 동의 요청을 받는다는 것입니다. 여기이 그렇게사용자는 매번 동의해야 함 Azure AD 응용 프로그램

enter image description here

같은 동의 dialoag과 푸른 로그인 화면에 저를 보내 요청이

 "https://login.microsoftonline.com/" + this.tenantId + "/oauth2/authorize?" + 
     "response_type=id_token+token&" + 
     "response_mode=fragment&" + 
     "client_id=" + this.clientId + "&" + 
     "redirect_uri=" + encodeURIComponent(window.location.href) + "/&" + 
     "scope=openid&" + 
     "state=" + this.state + "&" + 
     "resource=" + encodeURIComponent(this.appuri) + "&" + 
     "nonce=" + this.nonce; 

모습입니다 I 클릭에 동의하고 내가 가고 싶은 곳으로 돌아 지시하고 모든 것이 훌륭합니다. 다시 로그인하면 동일한 프롬프트가 표시됩니다. Azure AD 측에서 사용자의 동의를 저장하기 위해 취해야 할 단계는 무엇입니까? 매니페스트에 뭔가 있습니까?

+0

[오래된 Azure 포털] (https://manage.windowsazure.com/) 또는 [V2.0 끝점] (https://apps.dev.microsoft.com/Disambiguation?)에서 어디에서 응용 프로그램을 등록하셨습니까? ru = https % 3a % 2f % 2fapps.dev.microsoft.com % 2f)? 그리고 멀티 테넌트 앱을 개발 했습니까? –

+0

AD => 응용 프로그램의 "내 회사에서 사용하는 응용 프로그램"필드를 체크하십시오. 로그인 한 사용자가 속한이 애플리케이션이 AD에 등록되면 동의 페이지가 다시 표시되지 않습니다. 동의서 제출시 신청서가 AD에 등록되지 않습니다. –

+0

@ fei-xue-msft AD 영역의 portal.azure.com에 앱을 등록했습니다. 예, 그것은 다중 점유이지만, 지금까지 한 회사에 대해서만 동의했습니다, actallu는 관리자 인 동일한 계정입니다. –

답변

2

표시되는 동의 화면은 로그인 URL의 검색어 문자열로 'prompt = admin_consent'를 전달한 경우에만 표시되어야하는 '관리자 동의 화면'입니다.

동시에이 쿼리 문자열을 전달하면 매번 응용 프로그램에 동의하라는 메시지가 표시됩니다. 대신이 쿼리 문자열을 한 번만 (사용자가 처음 응용 프로그램을 사용할 때) 전달하고 동의 한 후에는 "프롬프트"쿼리 문자열을 전달하지 않아야합니다.

이 문제가 해결되기를 바랍니다.

관련 문제