Requisito de autenticación multifactor
Ya se requiere la autenticación multifactor en Microsoft Advertising online. La autenticación multifactor es un proceso de seguridad que requiere que compruebe su identidad de dos maneras diferentes.
Importante
A partir del 1 de junio de 2022, se requiere gradualmente la autenticación multifactor para que los clientes que inicien sesión a través de aplicaciones de terceros usen Bing Ads API, Content API y Hotel API.
Debe actualizar la aplicación para obtener el consentimiento del usuario mediante el nuevo msads.manage
ámbito. Todos los desarrolladores de aplicaciones deben realizar acciones para usar el nuevo ámbito.
El nuevo msads.manage
ámbito requiere el consentimiento renovado de todos los usuarios de la aplicación. Debe solicitar a los usuarios el consentimiento mediante el nuevo msads.manage
ámbito independientemente de si han activado o no la autenticación multifactor. Esto garantiza que proporcionen una segunda forma de identificación o prueba al conceder su consentimiento a la aplicación.
Debe actualizar la aplicación y pedir a los usuarios su consentimiento mediante msads.manage
el ámbito a través del punto de conexión de Plataforma de identidad de Microsoft. Todos los desarrolladores de Microsoft Advertising deben tomar medidas para usar el nuevo ámbito.
Con cada solicitud de API comprobaremos el token de acceso para asegurarse de que el usuario concedió el consentimiento a través del nuevo msads.manage
ámbito. Tras la aplicación de la autenticación multifactor, no se aceptará ningún token de acceso aprovisionado de lo contrario.
Se recomienda realizar los cambios necesarios lo antes posible.
También se recomienda informar y guiar a los usuarios de la aplicación para configurar MFA para que se requiera una segunda prueba cuando concedan permisos para cualquier aplicación. Para el requisito de Microsoft Advertising, no es suficiente para que activen MFA. En cualquier caso, debe obtener el consentimiento del usuario solicitando el msads.manage
ámbito.
Tras la aplicación de MFA, solo autenticaremos tokens de acceso en nombre de un usuario que concedió consentimiento a la aplicación a través del msads.manage
ámbito en el punto de conexión de Plataforma de identidad de Microsoft.
Antes de la aplicación de MFA, el punto de conexión Plataforma de identidad de Microsoft admite el
ads.manage
ámbito. Los tokens de acceso que adquiera para los usuarios a través del ámbito ads.manage ya no se aceptarán.Antes de la aplicación de MFA, el punto de conexión Live Connect admite el
bingads.manage
ámbito. El punto de conexión Live Connect ya está en desuso y ya no se admitirá. Los tokens de acceso que adquiera para los usuarios a través delbingads.manage
ámbito ya no se aceptarán.
La compatibilidad con el nuevo msads.manage
ámbito está disponible a partir de la versión 13.0.10 de los SDK de Bing Ads (.NET, Java, Python y PHP).
El nuevo msads.manage
ámbito se usa de forma predeterminada. Por compatibilidad con versiones anteriores, hasta la fecha de cumplimiento puede usar los ads.manage
ámbitos o bingads.manage
con una breve solución 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
)
Estos son escenarios de ejemplo que podrían aplicarse a su empresa.
Un token de acceso representa los permisos de un usuario para actuar en su nombre con permisos limitados basados en ámbitos. Al solicitar consentimiento para administrar sus cuentas, establece el parámetro de ámbito en ads.manage y msads.manage. Realmente está solicitando un token de acceso de usuario que tenga permisos para lo que defina el ámbito.
Importante
Tras la aplicación de la autenticación multifactor, solo se aceptará un token de acceso si se ha aprovisionado o actualizado a través del ámbito msads.manage . Puede continuar actualizando los tokens a través de ads.manage, pero la API de Bing Ads no los aceptará.
Para confirmar que se aceptará un token de acceso tras la aplicación de la autenticación multifactor, puede comprobar el ámbito de respuesta. Si el ámbito incluye msads.manage , se aceptará.
Supongamos, por ejemplo, que actualmente un usuario da su consentimiento para que la aplicación administre sus cuentas a través de los ámbitos ads.manage y msads.manage . Es posible que hayan concedido el consentimiento a través de ads.manage el mes pasado y luego hayan concedido su consentimiento a través de msads.manage este mes.
Si actualiza el token con ads.manage , la respuesta de actualización del token incluirá el ámbito ads.manage . Tras la aplicación de la autenticación multifactor, no se aceptaría "MyAccessToken-1".
{
"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"
}
Si actualiza el token con msads.manage , la respuesta de actualización del token incluirá los ámbitos ads.manage y msads.manage . Tras la aplicación de la autenticación multifactor, se aceptaría "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"
}
Se devolverá un error de invalid_grant si intenta actualizar el token mediante cualquier ámbito en el que el usuario no proporcione actualmente el consentimiento.
{
"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."
}
Preguntas más frecuentes sobre OAuthSolicitar consentimiento del usuario