2016-06-14 3 views
3

Microsoft Graph API와 통합하기 위해 응용 프로그램을 작성 중입니다. 이제 Microsoft Graph API를 사용하여 작업 계정과 개인 계정 모두에 대해 사용자 프로필 등을 읽는 것과 같은 사용자 권한 부여 액세스로 로그인 할 수 있습니다. Microsoft 작업 계정 인 경우 사용자의 그룹 정보를 읽으려고합니다. doc에서 사용자의 그룹 정보를 읽으려면 관리자의 동의가 필요합니다. 그러나 우리는 어떻게 그것을 얻습니까? 나는 주위를 수색했지만 대답을 얻지 못했습니다. 각 임차인의 관리자에게 연락하여 앱을 승인하도록해야합니까?Microsoft Graph API를 관리자 권한으로 그룹 관련 권한을 얻는 방법

link 그룹 섹션에서 사용자가 로그인 버튼을 클릭하면 그룹 권한을 얻을 수없는 것으로 보입니다. 당신이 그것을 원한다면 얼마나 걸릴지 물어봐도 될까요?

답변

0

Fei의 대답은 기술적으로 정확합니다. 그러나 여기서 혼란은 그 범위를 요청하는 것보다 "관리자의 동의"의 의미와 더 관련이 있다고 생각합니다.

"관리자의 동의"에 대해 이야기 할 때 우리는 실제로 사용자가 관리자 권한으로 로그인 할 때만 해당 범위를 사용할 수 있다고 말합니다. 이 아닌 경우은 관리자가 사용자를 사용하기 전에 동의해야한다는 의미입니다. 응용 프로그램 관리자 제한 범위를 사용하기 전에 스코프는

  • 관리 스코프는 관리자와 함께 사용할 수있는 계정을 사용할 수 있습니다

    • 사용자는
  • +1

    관리자가 요청 권한을 사용자가 동의 할 수 있는지 또는 관리자가 동의해야하는지에 관계없이 관리자가 조직을 대신하여 동의 할 수있는 세 번째 요소가 실제로 있습니다. 조직을 대신 한 동의는 조직의 모든 사용자가 동의를 거부 한 채로 애플리케이션을 사용할 수있게합니다. 아직 V2에서 사용할 수 있는지 확실하지 않습니다. v1 엔드 포인트에서 권한 부여 요청의 쿼리 문자열에 prompt = admin_consent를 전달하여 조직을 대신하여 관리자 동의를 사용할 수 있습니다. –

    +0

    아, 그리고 우리는 새로운 사용자 동의 가능한 그룹 권한에 대해서도 작업하고 있습니다. 그래도 곧 사용할 수 있습니다 (ETA는 없음) –

    +0

    v1 엔드 포인트와 잘 작동합니다. 불행히도 "admin_consent"는 v2에서 유효한 프롬프트 옵션이 아닙니다. –

    2

    V2.0 엔드 포인트를 사용하면 앱을 정기적으로 사용하는 동안 런타임에 앱이 동적으로 필요로하는 권한을 지정할 수 있습니다. 우리는

    https://login.microsoftonline.com/common/oauth2/v2.0/authorize?scope=https:%2F%2Fgraph.microsoft.com%2Fgroup.read.all+openid+offline_access&client_id={clientId}&response_type=code&redirect_uri={redirectURL} 
    

    및 관리를 필요로하는 범위에 대한 동의를 이렇게하려면, 우리는 인증 요청의 범위 매개 변수를 포함하여 앱이 특정 시점에 필요한 범위를 지정할 수 있습니다 로그인 계정에 관리자 특권이 있는지 확인해야합니다. v2.0 엔드 포인트에 대한 자세한 내용은 here을 참조하십시오.

    0

    계정, 당신은 동의 관리자가 필요합니다. 세입자의 관리자가 동의하면 세입자의 사용자에 대해 해당 범위를 성공적으로 요청할 수 있습니다. 자세한 내용은 관리자 제한 범위에 대한이 항목과 관리자 동의를위한 요청을 보내는 방법을 참조하십시오 (https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-scopes#admin-restricted-scopes). 예, 이렇게하려면 앱을 사용하여 각 세입자의 관리자가 필요합니다.

    관련 문제