Condividi tramite


Richiedere il consenso dell'utente

Importante

A giugno 2022 è stata introdotta l'autenticazione a più fattori come requisito per Bing Ads. Potrebbe comunque essere necessario apportare una modifica al codice per essere conforme a questo requisito. Microsoft Advertising esegue controlli tecnici all'inizio di ottobre.

Questo post di blog descrive i passaggi da eseguire per garantire la conformità.

Per altre informazioni, vedere la guida ai requisiti di autenticazione a più fattori .

Dopo aver registrato un'applicazione, è necessario ottenere il consenso dell'utente per gestire il proprio account Microsoft Advertising.

Consiglio

Per la guida alla risoluzione dei problemi, vedere la guida agli errori OAuth comuni .

Importante

Ogni utente deve essere richiesto e fornire il consenso tramite un controllo web browser almeno una volta per consentire all'applicazione di gestire i propri account Microsoft Advertising. Si tratta di un flusso OAuth 2.0 standard ed è definito in dettaglio nella sezione Concessione del codice di autorizzazione della specifica OAuth 2.0.

Il flusso del codice di autorizzazione inizia con il client che indirizza l'utente all'endpoint /authorize . In questa richiesta il client indica le autorizzazioni necessarie per acquisire dall'utente:

Nota

Sostituire your_client_id seguente con l'ID applicazione (client) assegnato all'app dal portale di Azure - Portale registrazioni app.

// Line breaks for legibility only

https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=your_client_id
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=query
&scope=openid%20offline_access%20https%3A%2F%2Fads.microsoft.com%2Fmsads.manage
&state=12345
  1. Copiare l'URL seguente e incollarlo nel browser per eseguire questa richiesta di esempio per il consenso dell'utente.

Nota

Sostituire your_client_id nell'URL seguente con l'ID applicazione (client) assegnato all'app dal portale di Azure - Portale registrazioni app.

<https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=your_client_id&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F&response_mode=query&scope=openid%20offline_access%20https%3A%2F%2Fads.microsoft.com%2Fmsads.manage&state=12345>
  1. Accedere con le credenziali dell'account Microsoft e concedere il consenso dell'app per gestire gli account Microsoft Advertising.
  2. Dopo l'accesso, il browser deve essere reindirizzato a https://localhost/myapp/ con nella code barra degli indirizzi. È possibile ignorare il messaggio di errore nella pagina.
  3. Successivamente si userà il codice per ottenere l'accesso e aggiornare i token.

L'endpoint di Microsoft Identity Platform garantisce inoltre che l'utente abbia acconsentito alle autorizzazioni indicate nel parametro di scope query. Se l'utente non ha acconsentito a nessuna di queste autorizzazioni, chiederà all'utente di fornire il consenso alle autorizzazioni necessarie. Anche se questa guida è incentrata principalmente sulla gestione degli account Microsoft Advertising tramite scope=https://ads.microsoft.com/msads.manage, qui sono disponibili altri dettagli sulle autorizzazioni e il consenso in Microsoft Identity Platform.

Dopo che l'utente ha autenticato e concesso il consenso, l'endpoint di Microsoft Identity Platform restituirà una risposta all'app all'indirizzo indicato redirect_uri, usando il metodo specificato nel response_mode parametro . Ad esempio, l'URI di callback include un codice di autorizzazione come indicato di seguito se l'utente ha concesso all'applicazione le autorizzazioni per gestire i propri account Microsoft Advertising: http://localhost/myapp/?code=CodeGoesHere& state=12345.

Se l'utente ha concesso all'applicazione le autorizzazioni per gestire i propri account Microsoft Advertising, è consigliabile usare il codice immediatamente nel passaggio successivo. La breve durata del codice di autorizzazione, circa 5 minuti, è soggetta a modifiche. Se l'utente ha negato le autorizzazioni dell'applicazione per gestire gli account Microsoft Advertising, l'URI di callback include un campo di descrizione degli errori e degli errori come indicato di seguito: http://localhost/myapp/?error=access_denied& error_description=ERROR_DESCRIPTION&state=ClientStateGoesHere. Per altre informazioni sugli errori OAuth, vedere Errori OAuth comuni e Codici di errore di autenticazione e autorizzazione.

La tabella seguente include i parametri che i client API Bing Ads possono includere nella richiesta di consenso. Per altre informazioni sui parametri facoltativi, vedere la documentazione del flusso di codice di autorizzazione di Microsoft Identity Platform OAuth 2.0 .

Parametro Obbligatorio/Facoltativo Descrizione
client_id Obbligatorio ID applicazione (client) assegnato all'app dal portale di Azure - Portale registrazioni app.
code_challenge raccomandato Usato per proteggere le concessioni di codice di autorizzazione tramite Proof Key for Code Exchange (PKCE). Obbligatorio se code_challenge_method è incluso. Per altre informazioni, vedere PKCE RFC. Questa opzione è ora consigliata per tutti i tipi di applicazione: app native, spa e client riservati, ad esempio app Web.
code_challenge_method raccomandato Metodo utilizzato per codificare l'oggetto code_verifier per il code_challenge parametro . Può essere uno dei valori seguenti:

- plain
- S256

Se escluso, code_challenge si presuppone che sia testo non crittografato se code_challenge è incluso. Microsoft Identity Platform supporta sia che plainS256. Per altre informazioni, vedere PKCE RFC.
prompt opzionale Indica il tipo di interazione utente richiesto dall'applicazione. I valori supportati includono:
- prompt=login forza l'utente a immettere le credenziali su tale richiesta, negando l'accesso Single Sign-On.
- prompt=none è l'opposto di "login", ovvero garantisce che all'utente non venga presentato alcun prompt interattivo. Se la richiesta non può essere completata in modo invisibile all'utente tramite single sign-on, l'endpoint di Microsoft Identity Platform restituirà un errore di interaction_required.
- prompt=consent attiverà la finestra di dialogo di consenso OAuth dopo l'accesso dell'utente, chiedendo all'utente di concedere le autorizzazioni all'app.
- prompt=select_account interromperà l'accesso Single Sign-On e fornirà l'esperienza di selezione dell'account, elencando tutti gli account nella sessione o qualsiasi account memorizzato o un'opzione per scegliere di usare completamente un account diverso.
redirect_uri Obbligatorio Il redirect_uri dell'app, in cui le risposte di autenticazione possono essere inviate e ricevute dall'app. Deve corrispondere esattamente a uno dei redirect_uris registrati nel portale, ad eccezione del fatto che deve essere codificato in URL. Per le app per dispositivi mobili & native, è necessario usare il valore predefinito di https://login.microsoftonline.com/common/oauth2/nativeclient.
response_mode raccomandato Specifica il metodo che deve essere usato per inviare il token risultante all'app. Le possibili impostazioni sono:

- query
- fragment
- form_post

query fornisce il codice come parametro della stringa di query nell'URI di reindirizzamento. Se si richiede un token ID usando il flusso implicito, non è possibile usare query come specificato nella specifica OpenID. Se si richiede solo il codice, è possibile usare query, fragmento form_post. form_post esegue un POST contenente il codice nell'URI di reindirizzamento. Per altre info, vedi Protocollo OpenID Connect.
response_type Obbligatorio Deve includere code per il flusso del codice di autorizzazione.
scope Obbligatorio Elenco di ambiti separati da spazi a cui si vuole che l'utente acconsenta. Assicurarsi di includere https://ads.microsoft.com/msads.manage per richiedere all'utente l'accesso a Microsoft Advertising. Includere offline_access per assicurarsi che nella risposta sia incluso un token di aggiornamento.
state raccomandato Valore incluso nella richiesta che verrà restituito anche nella risposta del token. Può essere una stringa di qualsiasi contenuto desiderato. Un valore univoco generato in modo casuale viene in genere usato per impedire attacchi di falsificazione di richieste tra siti. Il valore può anche codificare le informazioni sullo stato dell'utente nell'app prima che si verificasse la richiesta di autenticazione, ad esempio la pagina o la visualizzazione in cui si trovava.
tenant Obbligatorio Il {tenant} valore nel percorso della richiesta può essere usato per controllare chi può accedere all'applicazione. Per assicurarsi che l'applicazione supporti sia gli account personali del servizio gestito che gli account aziendali o dell'istituto di istruzione di Azure AD, è consigliabile usare common come tenant per l'autenticazione dell'API Bing Ads.

Nel caso in cui l'applicazione richieda un altro tenant, vedere Endpoint di Microsoft Identity Platform per altre informazioni.

Passaggi successivi

Vedere anche

Introduzione