Share via


Anfordern der Benutzergenehmigung

Wichtig

Im Juni 2022 haben wir die mehrstufige Authentifizierung als Anforderung für Bing Ads eingeführt. Möglicherweise müssen Sie dennoch eine Codeänderung vornehmen, um diese Anforderung erfüllen zu können. Microsoft Advertising führt Anfang Oktober technische Erzwingungsprüfungen durch.

In diesem Blogbeitrag werden die Schritte beschrieben, die Sie ausführen sollten, um die Konformität sicherzustellen.

Weitere Informationen finden Sie im Anforderungsleitfaden für die mehrstufige Authentifizierung .

Nachdem Sie eine Anwendung registriert haben, müssen Sie die Benutzerzustimmung einholen, damit Sie ihr Microsoft Advertising-Konto verwalten können.

Tipp

Hilfe zur Problembehandlung finden Sie im Leitfaden zu häufigen OAuth-Fehlern .

Wichtig

Jeder Benutzer muss mindestens einmal aufgefordert werden und seine Zustimmung über ein Webbrowsersteuerelement erteilen, damit Ihre Anwendung ihre Microsoft Advertising-Konten verwalten kann. Dies ist ein standardmäßiger OAuth 2.0-Flow, der im Abschnitt Autorisierungscodegenehmigung der OAuth 2.0-Spezifikation ausführlich definiert ist.

Der Autorisierungscodeflow beginnt damit, dass der Client den Benutzer an den /authorize Endpunkt weiter leitet. In dieser Anforderung gibt der Client die Berechtigungen an, die er vom Benutzer erwerben muss:

Hinweis

Ersetzen Sie your_client_id unten durch die Anwendungs-ID (Client), die Azure-Portal App-Registrierungen Portal Ihrer App zugewiesen wurde.

// 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. Kopieren Sie die folgende URL, und fügen Sie sie in Ihren Browser ein, um diese Beispielanforderung für die Benutzereinwilligung auszuführen.

Hinweis

Ersetzen Sie your_client_id in der url unten durch die Anwendungs-ID (Client), die vom Azure-Portal App-Registrierungen Portal Ihrer App zugewiesen wurde.

<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. Melden Sie sich mit den Anmeldeinformationen Ihres Microsoft-Kontos an, und erteilen Sie Ihrer App die Zustimmung zur Verwaltung Ihrer Microsoft Advertising-Konten.
  2. Nach der Anmeldung sollte Ihr Browser mit einem code in der Adressleiste zu https://localhost/myapp/ umgeleitet werden. Sie können die Fehlermeldung auf der Seite ignorieren.
  3. Als Nächstes verwenden Sie den Code, um Zugriffs- und Aktualisierungstoken abzurufen.

Der Microsoft Identity Platform-Endpunkt stellt außerdem sicher, dass der Benutzer den im scope Abfrageparameter angegebenen Berechtigungen zugestimmt hat. Wenn der Benutzer keiner dieser Berechtigungen zugestimmt hat, fordert er den Benutzer auf, den erforderlichen Berechtigungen zuzustimmen. Obwohl sich dieser Leitfaden hauptsächlich auf die Verwaltung von Microsoft Advertising-Konten über scope=https://ads.microsoft.com/msads.managekonzentriert, finden Sie hier weitere Details zu Berechtigungen und Zustimmungen im Microsoft Identity Platform.

Sobald sich der Benutzer authentifiziert und seine Zustimmung erteilt hat, gibt der Microsoft Identity Platform-Endpunkt eine Antwort an Ihre App am angegebenen redirect_urizurück, indem die im response_mode -Parameter angegebene Methode verwendet wird. Der Rückruf-URI enthält beispielsweise einen Autorisierungscode wie folgt, wenn der Benutzer Ihrer Anwendung Berechtigungen zum Verwalten seiner Microsoft Advertising-Konten erteilt hat: http://localhost/myapp/?code=CodeGoesHere& state=12345.

Wenn der Benutzer Ihrer Anwendung Berechtigungen zum Verwalten seiner Microsoft Advertising-Konten erteilt hat, sollten Sie den Code sofort im nächsten Schritt verwenden. Die kurze Dauer des Autorisierungscodes( ca. 5 Minuten) kann sich ändern. Wenn der Benutzer Ihre Anwendungsberechtigungen zum Verwalten seiner Microsoft Advertising-Konten verweigert hat, enthält der Rückruf-URI ein Fehler- und Fehlerbeschreibungsfeld wie folgt: http://localhost/myapp/?error=access_denied& error_description=ERROR_DESCRIPTION&state=ClientStateGoesHere. Weitere Informationen zu OAuth-Fehlern finden Sie unter Häufige OAuth-Fehler und Authentifizierungs- und Autorisierungsfehlercodes.

Die folgende Tabelle enthält Parameter, die Bing Ads-API-Clients in die Zustimmungsanforderung einschließen können. Weitere Informationen zu optionalen Parametern finden Sie in der Dokumentation zum Microsoft Identity Platform OAuth 2.0-Autorisierungscodefluss.

Parameter Erforderlich/Optional Beschreibung
client_id erforderlich Die Anwendungs- (Client-) ID, die vom Azure-Portal – App-Registrierungen Portal Ihrer App zugewiesen wurde.
code_challenge empfohlen Wird verwendet, um Autorisierungscodezuweisungen über Proof Key for Code Exchange (PKCE) zu sichern. Erforderlich, wenn code_challenge_method enthalten ist. Weitere Informationen finden Sie unter PKCE RFC. Dies wird jetzt für alle Anwendungstypen empfohlen– native Apps, SPAs und vertrauliche Clients wie Web-Apps.
code_challenge_method empfohlen Die Methode, die zum Codieren von code_verifier für den code_challenge Parameter verwendet wird. Kann einer der folgenden Werte sein:

- plain
- S256

Wenn ausgeschlossen, wird davon ausgegangen, code_challenge dass es sich um Klartext handelt, wenn code_challenge enthalten ist. Microsoft Identity Platform unterstützt sowohl als S256auch plain . Weitere Informationen finden Sie unter PKCE RFC.
prompt Optional Gibt den Typ der Benutzerinteraktion an, die ihre Anwendung erfordert. Folgende Werte werden unterstützt:
- prompt=login zwingt den Benutzer, seine Anmeldeinformationen für diese Anforderung einzugeben, und negiert das einmalige Anmelden.
- prompt=none ist das Gegenteil von "Login", d.h. es wird sichergestellt, dass dem Benutzer keinerlei interaktive Aufforderung angezeigt wird. Wenn die Anforderung nicht im Hintergrund über einmaliges Anmelden abgeschlossen werden kann, gibt der Microsoft Identity Platform-Endpunkt einen interaction_required Fehler zurück.
- prompt=consent löst das OAuth-Zustimmungsdialogfeld aus, nachdem sich der Benutzer angemeldet hat, und fordert den Benutzer auf, der App Berechtigungen zu erteilen.
- prompt=select_account unterbricht das einmalige Anmelden und stellt die Kontoauswahl zur Verfügung, indem alle Konten in der Sitzung oder alle gespeicherten Konten oder eine Option zur Auswahl eines anderen Kontos aufgelistet werden.
redirect_uri erforderlich Die redirect_uri Ihrer App, in der Authentifizierungsantworten von Ihrer App gesendet und empfangen werden können. Sie muss genau mit einer der redirect_uris übereinstimmen, die Sie im Portal registriert haben, mit der Ausnahme, dass sie URL-codiert sein muss. Für native & mobile Apps sollten Sie den Standardwert verwenden https://login.microsoftonline.com/common/oauth2/nativeclient.
response_mode empfohlen Gibt die Methode an, die verwendet werden soll, um das resultierende Token zurück an Ihre App zu senden. Folgende Werte sind möglich:

- query
- fragment
- form_post

query stellt den Code als Abfragezeichenfolgenparameter für Ihren Umleitungs-URI bereit. Wenn Sie ein ID-Token mithilfe des impliziten Flusses anfordern, können Sie nicht wie in der OpenID-Spezifikation angegeben verwendenquery. Wenn Sie nur den Code anfordern, können Sie , fragmentoder form_postverwendenquery. form_post führt einen POST-Wert aus, der den Code für Ihren Umleitungs-URI enthält. Weitere Informationen finden Sie unter OpenID Connect-Protokoll.
response_type erforderlich Muss code für den Autorisierungscodefluss enthalten.
scope erforderlich Eine durch Leerzeichen getrennte Liste von Bereichen , denen der Benutzer zustimmen soll. Stellen Sie sicher, dass Sie einschließen https://ads.microsoft.com/msads.manage , um den Benutzer zum Zugriff auf Microsoft Advertising aufzufordern. Schließen Sie ein offline_access , um sicherzustellen, dass ein Aktualisierungstoken in der Antwort enthalten ist.
state empfohlen Ein in der Anforderung enthaltener Wert, der auch in der Tokenantwort zurückgegeben wird. Dabei kann es sich um eine Zeichenfolge mit beliebigen Inhalten handeln. Ein zufällig generierter eindeutiger Wert wird in der Regel verwendet , um siteübergreifende Anforderungsfälschungsangriffe zu verhindern. Der Wert kann auch Informationen zum Status des Benutzers in der App vor der Authentifizierungsanforderung codieren, z. B. die Seite oder Ansicht, auf der er sich befand.
tenant erforderlich Mit dem Wert {tenant} im Pfad der Anforderung kann gesteuert werden, wer sich bei der Anwendung anmelden kann. Um sicherzustellen, dass Ihre Anwendung sowohl persönliche MSA-Konten als auch Azure AD-Geschäfts-, Schul- oder Unikonten unterstützt, sollten Sie als Mandant für die Bing Ads-API-Authentifizierung verwenden common .

Falls Ihre Anwendung einen anderen Mandanten erfordert, finden Sie weitere Informationen unter Microsoft Identity Platform Endpunkte.

Nächste Schritte

Siehe auch

Erste Schritte