Requisito de autenticação multifator
Já precisamos de autenticação multifator no Microsoft Advertising online. A autenticação multifator é um processo de segurança que requer que verifique a sua identidade de duas formas diferentes.
Importante
A partir de 1 de junho de 2022, estamos a exigir gradualmente a autenticação multifator para os clientes que iniciam sessão através de aplicações de terceiros para utilizarem a API de Anúncios do Bing, a API de Conteúdo e a API de Hotel.
Tem de atualizar a aplicação para obter o consentimento do utilizador através do novo msads.manage
âmbito. Todos os programadores de aplicações têm de tomar medidas para utilizar o novo âmbito.
O novo msads.manage
âmbito requer o consentimento renovado de todos os utilizadores da sua aplicação. Tem de pedir consentimento aos utilizadores através do novo msads.manage
âmbito, quer tenham ativado ou não a autenticação multifator. Isto garante que fornecem uma segunda forma de identificação ou prova quando concedem consentimento à sua aplicação.
Ação necessária
Tem de atualizar a aplicação e pedir consentimento aos utilizadores através msads.manage
do âmbito através do ponto final plataforma de identidades da Microsoft. Todos os programadores de Publicidade da Microsoft têm de tomar medidas para utilizar o novo âmbito.
Com cada pedido de API, verificaremos o token de acesso para garantir que o utilizador concedeu o consentimento através do novo msads.manage
âmbito. Após a imposição da autenticação multifator, qualquer token de acesso aprovisionado, caso contrário, não será aceite.
Recomendamos que faça as alterações necessárias o mais rapidamente possível.
Também recomendamos que informe e oriente os utilizadores da sua aplicação para configurar a MFA para que seja necessária uma segunda prova quando concederem permissões para qualquer aplicação. Para o requisito de Publicidade da Microsoft, não é suficiente ativar a MFA. De qualquer forma, tem de obter o consentimento do utilizador ao solicitar o msads.manage
âmbito.
Após a imposição
Após a imposição da MFA, apenas autenticaremos tokens de acesso em nome de um utilizador que concedeu consentimento à sua aplicação através do msads.manage
âmbito no ponto final plataforma de identidades da Microsoft.
Antes da imposição da MFA, o ponto final plataforma de identidades da Microsoft suporta o
ads.manage
âmbito. Os tokens de acesso que adquirir para os utilizadores através do âmbito ads.manage deixarão de ser aceites.Antes da imposição da MFA, o ponto final Live Connect suporta o
bingads.manage
âmbito. O ponto final Live Connect já foi preterido e deixará de ser suportado. Os tokens de acesso que adquirir para os utilizadores através dobingads.manage
âmbito deixarão de ser aceites.
Suporte do SDK
O suporte para o novo msads.manage
âmbito está disponível a partir da versão 13.0.10 dos SDKs de Anúncios do Bing (.NET, Java, Python e PHP).
O novo msads.manage
âmbito é utilizado por predefinição. Para retrocompatibilidade, até à data de imposição, pode utilizar os ads.manage
âmbitos ou bingads.manage
com uma solução breve.
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
)
Cenários de exemplo
Eis alguns cenários de exemplo que podem aplicar-se à sua empresa.
Exemplo: Obter um novo token de acesso ao atualizar com um âmbito diferente
Um token de acesso representa permissões de um utilizador para agir em seu nome com permissões limitadas com base em âmbitos. Quando pede consentimento para gerir as respetivas contas, define o parâmetro de âmbito para ads.manage e msads.manage. Está realmente a pedir um token de acesso de utilizador que tenha permissões para o que for definido pelo âmbito.
Importante
Após a imposição da autenticação multifator, um token de acesso só será aceite se tiver sido aprovisionado ou atualizado através do âmbito msads.manage . Pode continuar a atualizar os tokens através de ads.manage, mas a API de Anúncios do Bing não os aceitará.
Para confirmar que um token de acesso será aceite após a imposição da autenticação multifator, pode verificar o âmbito da resposta. Se o âmbito incluir msads.manage , será aceite.
Digamos, por exemplo, que, atualmente, um utilizador consente que a sua aplicação faça a gestão das respetivas contas através dos âmbitos ads.manage e msads.manage . Podem ter dado consentimento através de ads.manage no mês passado e, em seguida, concederam consentimento através de msads.manage este mês.
Se atualizar o token com ads.manage , a resposta de atualização de tokens incluirá o âmbito ads.manage . Após a imposição da autenticação multifator, "MyAccessToken-1" não seria aceite.
{
"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 atualizar o token com msads.manage , a resposta de atualização do token incluirá os âmbitos ads.manage e msads.manage . Após a imposição da autenticação multifator, "MyAccessToken-2" seria aceite.
{
"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"
}
Será devolvido um erro de invalid_grant se tentar atualizar o token com qualquer âmbito em que o utilizador não dê atualmente consentimento.
{
"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."
}