重要
2022 年 6 月、Bing広告の要件として 多要素認証 を導入しました。 この要件に準拠するには、引き続きコードの変更が必要な場合があります。 Microsoft Advertising は、10 月初旬に技術的な適用チェックを実行しています。
このブログ投稿 では、コンプライアンスを確保するために実行する必要がある手順について説明します。
詳細については、 多要素認証要件 ガイドを参照してください。
アプリケーションで Microsoft Advertising ユーザーを認証する前に、 アプリケーションを Azure Active Directory (AAD) テナントに登録 し、対応するクライアント ID とクライアント シークレットを取得する必要があります。
[Azure portal - アプリの登録] ページの開発者向け Microsoft ID プラットフォームに移動します。 または職場または学校アカウントを使用してログインできます。 注: 個人用 Microsoft アカウントを使用してログインできなくなります。
[新規登録] を選択します。
[ アプリケーションの登録] ページ が表示されたら、アプリケーションの登録情報を入力します。
- [ 名前 ] セクションに、アプリのユーザーに表示されるわかりやすいアプリケーション名を入力します (例:
My browserless client
)。 - [ サポートされているアカウントの種類 ] セクション で、[任意の組織のディレクトリ内のアカウント] と [個人用 Microsoft アカウント] を選択します。
重要
最初のアプリの登録中 に、任意の組織のディレクトリ内のアカウントと個人用 Microsoft アカウント を選択する必要があります。 この設定は、 アプリケーション マニフェスト (例:
"signInAudience": "AzureADandPersonalMicrosoftAccount"
) を変更しない限り、ポータルで後で更新することはできません。- [ 名前 ] セクションに、アプリのユーザーに表示されるわかりやすいアプリケーション名を入力します (例:
[登録] を選択して、アプリケーションを作成します。
アプリの [概要 ] ページで、 アプリケーション (クライアント) ID の値を見つけて、後で記録します。 ユーザーの同意を要求し、アクセス トークンを取得するときに、
client_id
として使用します。[ リダイレクト URI の追加] リンクを選択すると、[ リダイレクト URI] ページが表示されます。
- Web アプリケーションの場合は、アプリケーションのベース URL を指定します。 たとえば、 http://localhost:31544 は、ローカル コンピューターで実行されている Web アプリケーションの URL です。 ユーザーはこの URL を使用して Web クライアント アプリケーションにサインインします。
- パブリック アプリケーションの場合は、 パブリック クライアント (モバイル、デスクトップ) の推奨リダイレクト URI セクションを見つけます。
https://login.microsoftonline.com/common/oauth2/nativeclient
URI を選択します。
重要
Microsoft Azure などのリージョンやデバイスにまたがるサービスでアプリを実行しているクライアントは、Web アプリケーションをクライアント シークレットに登録する必要があります。 同じクライアント ID とクライアント シークレットがある限り、あるデバイスで更新トークンを取得し、別のデバイスで更新できます。 クライアント シークレットなしでパブリック アプリケーションを登録した場合、デバイス間で更新トークンを使用することはできません。 機密トークンはクライアント シークレットにバインドされます。
Web アプリケーションの場合は、[管理] で [証明書 & シークレット ] を選択 します。 [新しいクライアント シークレット] ボタンを選択します。 [説明] に値を入力し、[有効期限] で任意のオプションを選択して、[追加] を選択します。 ページを離れる前に、クライアント シークレットの値をコピーします。 後で
client_secret
として使用して アクセス トークンを取得します。
アプリケーションの動作
- 登録されたアプリケーションの動作は、Azure AAD テナントの設定方法と、認証プロセス中にユーザーがアプリに同意を提供する方法によって決まります。 Azure AAD テナント管理者は、ユーザーの同意設定 ( https://learn.microsoft.com/azure/active-directory/manage-apps/configure-user-consent?pivots=portal#configure-user-consent-settings) を確認できます。
- 認証しようとしているがエラー AADSTS650052を受け取る場合、この問題の根本原因がいくつかあります。 これは、Microsoft Advertising アプリケーション ID (d42ffc93-c136-491d-b4fd-6f18168c68fd) がテナントに存在しないことを意味する可能性があります。 これは、ツール プロバイダーに対して認証しようとしていて、独自のAzure アプリ登録を作成せず、msads.manage を追加しなかった場合に発生する可能性があります。 これを解決するには、Active Directory 管理者に連絡し、次のGraph API呼び出しを実行して Microsoft Advertising アプリをテナントに追加する必要があります。
POST https://graph.microsoft.com/v1.0/servicePrincipals Content-type: application/json { "appId": "d42ffc93-c136-491d-b4fd-6f18168c68fd" }
- 上記のコマンドを実行した後、ブラウザーで次の URL を実行して、管理者にツール プロバイダーへの同意を付与する必要がある場合もあります。 この URL は SA 360 に同意を付与します。 "client_id=340615a8-1132-4916-80c7-697a67c6c353" をツール プロバイダーのクライアント ID に置き換え、"tenantID" をテナント ID https://login.microsoftonline.com/"tenantID"/v2.0/adminconsent?client_id =340615a8-1132-4916-80c7-697a67c6c353&state=12345&scope=d42ffc93-c136-491d-b4fd-6f18168c68fd/msads.manages
- ツール プロバイダー Skai に同意を付与するには、"client_id=73ea1e5d-983e-4f8e-8493-537a37a4436a" を使用してください
- 上記の手順を実行しても問題が解決しない場合は、 サポートにお問い合わせください。
- 認証しようとしているがエラー AADSTS650052を受け取る場合、この問題の根本原因がいくつかあります。 これは、Microsoft Advertising アプリケーション ID (d42ffc93-c136-491d-b4fd-6f18168c68fd) がテナントに存在しないことを意味する可能性があります。 これは、ツール プロバイダーに対して認証しようとしていて、独自のAzure アプリ登録を作成せず、msads.manage を追加しなかった場合に発生する可能性があります。 これを解決するには、Active Directory 管理者に連絡し、次のGraph API呼び出しを実行して Microsoft Advertising アプリをテナントに追加する必要があります。