Requisito di autenticazione a più fattori

È già necessaria l'autenticazione a più fattori in Microsoft Advertising online. L'autenticazione a più fattori è un processo di sicurezza che richiede di verificare l'identità in due modi diversi.

Importante

A partire dal 1° giugno 2022, è necessaria gradualmente l'autenticazione a più fattori per i clienti che acseguono l'accesso tramite applicazioni di terze parti per usare l'API Bing Ads, l'API Contenuto e l'API Hotel.

È necessario aggiornare l'applicazione per ottenere il consenso dell'utente usando il nuovo msads.manage ambito. Tutti gli sviluppatori di applicazioni devono intervenire per usare il nuovo ambito.

Il nuovo msads.manage ambito richiede il consenso rinnovato da tutti gli utenti dell'applicazione. È necessario richiedere il consenso degli utenti usando il nuovo msads.manage ambito indipendentemente dal fatto che abbiano attivato o meno l'autenticazione a più fattori. Ciò garantisce che forniscano una seconda forma di identificazione o di prova quando si concede il consenso all'applicazione.

Azione richiesta

È necessario aggiornare l'applicazione e richiedere il consenso degli utenti tramite msads.manage l'ambito tramite l'endpoint Microsoft Identity Platform. Tutti gli sviluppatori di Microsoft Advertising devono intervenire per usare il nuovo ambito.

Con ogni richiesta API controlleremo il token di accesso per garantire che l'utente disponga del consenso tramite il nuovo msads.manage ambito. Al momento dell'applicazione dell'autenticazione a più fattori, qualsiasi token di accesso di cui è stato effettuato il provisioning in caso contrario non verrà accettato.

È consigliabile apportare le modifiche necessarie il prima possibile.

È anche consigliabile informare e guidare gli utenti dell'applicazione a configurare l'autenticazione a più fattori in modo che sia necessaria una seconda prova quando concedono le autorizzazioni per qualsiasi applicazione. Per il requisito di Microsoft Advertising, non è sufficiente per attivare l'autenticazione a più fattori. In entrambi i casi è necessario ottenere il consenso dell'utente richiedendo l'ambito msads.manage .

Dopo l'imposizione

Al momento dell'imposizione dell'autenticazione a più fattori, i token di accesso verranno autenticati solo per conto di un utente che ha concesso il consenso all'applicazione tramite l'ambito msads.managenell'endpoint Microsoft Identity Platform.

  • Prima dell'imposizione dell'autenticazione a più fattori, l'endpoint Microsoft Identity Platform supporta l'ambitoads.manage. I token di accesso acquisiti per gli utenti tramite l'ambito ads.manage non verranno più accettati.

  • Prima dell'imposizione dell'autenticazione a più fattori, l'endpoint Live Connect supporta l'ambitobingads.manage. L'endpoint Live Connect è già deprecato e non sarà più supportato. I token di accesso acquisiti per gli utenti tramite l'ambito bingads.manage non verranno più accettati.

Supporto dell'SDK

Il supporto per il nuovo msads.manage ambito è disponibile a partire dalla versione 13.0.10 degli SDK di Bing Ads (.NET, Java, Python e PHP).

Il nuovo msads.manage ambito viene usato per impostazione predefinita. Per la compatibilità con le versioni precedenti, fino alla data di imposizione è possibile usare gli ads.manage ambiti o bingads.manage con una breve soluzione alternativa.

var oAuthDesktopMobileAuthCodeGrant = new OAuthDesktopMobileAuthCodeGrant(
    Settings.Default["ClientId"].ToString(),
    apiEnvironment,
    OAuthScope.ADS_MANAGE // temporary workaround; remove or use MSADS_MANAGE instead
);
OAuthDesktopMobileAuthCodeGrant oAuthDesktopMobileAuthCodeGrant = new OAuthDesktopMobileAuthCodeGrant(
    ClientId, 
    ApiEnvironment,
    OAuthScope.ADS_MANAGE // temporary workaround; remove or use MSADS_MANAGE instead
);
$authentication = (new OAuthDesktopMobileAuthCodeGrant())
    ->withClientId(ClientId)
    ->withEnvironment(ApiEnvironment)
    ->withOAuthScope(OAuthScope::ADS_MANAGE); // temporary workaround; remove or use MSADS_MANAGE instead
oauth_web_auth_code_grant = OAuthDesktopMobileAuthCodeGrant(
    client_id=CLIENT_ID,
    env=ENVIRONMENT,
    oauth_scope="ads.manage" # temporary workaround; remove or use "msads.manage" instead
)

Scenari di esempio

Di seguito sono riportati scenari di esempio che potrebbero essere applicabili all'azienda.

Esempio: Ottenere un nuovo token di accesso aggiornandolo con un ambito diverso

Un token di accesso rappresenta le autorizzazioni di un utente per agire per conto dell'utente con autorizzazioni limitate in base agli ambiti. Quando richiedi il consenso per gestire i loro account, imposti il parametro di ambito su ads.manage e msads.manage. Si richiede davvero un token di accesso utente con autorizzazioni per qualsiasi elemento definito dall'ambito.

Importante

Al momento dell'applicazione dell'autenticazione a più fattori, un token di accesso verrà accettato solo se è stato effettuato il provisioning o l'aggiornamento tramite l'ambito msads.manage . Puoi continuare ad aggiornare i token tramite ads.manage, ma l'API Bing Ads non li accetterà.

Per verificare che un token di accesso venga accettato al momento dell'applicazione dell'autenticazione a più fattori, è possibile controllare l'ambito della risposta. Se l'ambito include msads.manage , verrà accettato.

Si supponga, ad esempio, che attualmente un utente acconsenta all'applicazione per gestire i propri account tramite gli ambiti ads.manage e msads.manage . Potrebbe aver concesso il consenso tramite ads.manage il mese scorso e quindi concesso il consenso tramite msads.manage questo mese.

Se aggiorni il token con ads.manage , la risposta di aggiornamento del token includerà l'ambito ads.manage . Al momento dell'applicazione dell'autenticazione a più fattori, "MyAccessToken-1" non verrebbe accettato.

{
    "token_type":"Bearer",
    "scope":"https://ads.microsoft.com/ads.manage",
    "expires_in":3600,
    "ext_expires_in":3600,
    "access_token":"MyAccessToken-1",
    "refresh_token":"MyRefreshToken-1"
}

Se si aggiorna il token con msads.manage , la risposta all'aggiornamento del token includerà gli ambiti ads.manage e msads.manage . Al momento dell'applicazione dell'autenticazione a più fattori, verrà accettato "MyAccessToken-2".

{
    "token_type":"Bearer",
    "scope":"https://ads.microsoft.com/msads.manage https://ads.microsoft.com/ads.manage",
    "expires_in":3600,
    "ext_expires_in":3600,
    "access_token":"MyAccessToken-2",
    "refresh_token":"MyRefreshToken-2"
}

Verrà restituito un errore invalid_grant se si tenta di aggiornare il token usando qualsiasi ambito in cui l'utente non fornisce attualmente il consenso.

{
    "error":"invalid_grant",
    "error_description":"AADSTS70000: The request was denied because one or more scopes requested are unauthorized or expired. The user must first sign in and grant the client application access to the requested scope."
}

Vedere anche

Domande frequenti su OAuthRichiedere il consenso dell'utente