2015-02-10 12 views
9

Ho configurato un'applicazione di Azure AD che desidero utilizzare con la mia applicazione web. Ho ottenuto un token OAuth utilizzando le seguenti operazioni:Errore di privilegi insufficiente durante il tentativo di accesso alle API di Azure Graph

Per prima cosa ho richiesto il mio codice di autorizzazione:

https://login.windows.net/common/oauth2/authorize?redirect_uri={REDIRECT_URI}&client_id={CLIENT_ID}&response_type=code&state=o365&prompt=admin_consent 

Questo porta l'utente alla pagina di login.windows.net dove devono accettare le autorizzazioni che la mia domanda è andando a usare sul loro annuncio.

Dopo che ottengo il token OAuth utilizzando questo endpoint https://login.windows.net/common/oauth2/token con questo payload utilizzando C#:

{"code": {AUTH_CODE}}, 
{"state", {STATE}}, 
{"grant_type", "authorization_code"}, 
{"redirect_uri", "{REDIRECT_URI}"}, 
{"client_id", "1ff78c4b-414f-44c7-834b-09bdae96f440"}, 
{"client_secret", "{CLIENT_SECRET}"}, 
{"resource", "https://graph.windows.net"} 

tutto torna proprio bene e ottengo il mio token OAuth. Tuttavia quando provo ad arricciarsi l'API grafico utilizzando il token ottengo questo errore

curl https://graph.windows.net/{tenant}/users?api-version=1.5 -H "Authorization: Bearer [AUTH_TOKEN]" 

{"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."}}} 

ho cercato il dominio effettivo per il {inquilino}, il "me" alias e l'alias "myorganization" e tutti don lavorare L'alias "me" restituisce un errore che dice che la risorsa "utenti" non esiste. Sono confuso su quale sia il problema qui

+0

Ciao Matt. Quali autorizzazioni richiede l'applicazione? L'impostazione predefinita "accedi e leggi il mio profilo" non consente ad un'app di leggere le informazioni del profilo di altri utenti, ad esempio. –

risposta

10

I privilegi mancano per l'applicazione che impedisce al dominio AD di leggere i dettagli degli utenti presenti nel tuo annuncio personalizzato. Ecco cosa devi fare:

Vai al tuo annuncio personalizzato sul portale di gestione di Windows Azure -> Fai clic sulla scheda Applicazioni -> Fai clic sul nome della tua applicazione AD per andare alla sua visualizzazione dettagli. Nella vista dettagli vai alla scheda Configurazione.

Ora scorrere verso il basso della pagina per raggiungere la sezione "autorizzazioni per altre applicazioni". Vi si possono vedere tutte le autorizzazioni attualmente assegnate a "Windows Azure Active Directory" applicazione in autorizzazioni delegate di selezione multipla casella di riepilogo come illustrato di seguito:

Application access rights for Azure AD

Selezionare la casella contro "l'accesso alla directory della propria organizzazione" e "leggere dati della directory ". Fai clic su Salva nella barra degli strumenti in basso per salvare le modifiche. Il pulsante Salva viene visualizzato automaticamente non appena si apportano modifiche alla pagina. Il pulsante Salva non è visibile nello screenshot in alto poiché avevo già salvato le modifiche quando ho scattato lo screenshot.

Ora riprova ad accedere ai dettagli utente di AD utilizzando l'API grafico. Non dovrebbe più dare l'errore "Privilegi insufficienti". Spero che questo ti aiuti!

+0

Hi Basik, non ho l'opzione "Abilita l'accesso e la lettura dei profili degli utenti" nel mio AAD: http://i.imgur.com/zDtpMHt.png Puoi consigliare perché può essere così? – Vladimir

+0

@Vladimir hai trovato qualche soluzione per il tuo commento sopra? –

+0

@Vladimir Lo screenshot mostra le autorizzazioni dell'applicazione, l'autorizzazione mancante verrebbe trovata in Autorizzazioni delegate. Sei sicuro di averlo cercato nel posto giusto? – Alexander

1

Nel mio caso, ho dovuto eliminare le registrazioni delle app di Azure AD che ho creato nel nuovo portale e ricrearle nel portale classico. Dopo aver fatto ciò, l'errore "privilegi insufficienti" è andato via e tutto ha funzionato bene.

Come prerequisito, assicurati di essere aggiunto come co-amministratore all'abbonamento dal portale classico, altrimenti Azure non ti permetterà nemmeno di entrare nel portale classico.

Sembra che Microsoft abbia ancora qualche problema da risolvere con il nuovo portale ...

Problemi correlati