Kullanıcı onayı isteme

Önemli

Haziran 2022'de Bing Ads için çok faktörlü kimlik doğrulamasını zorunlu kıldık. Bu gereksinimle uyumlu olmak için yine de kod değişikliği yapmanız gerekebilir. Microsoft Advertising, Ekim ayının başlarında teknik uygulama denetimleri gerçekleştiriyor.

Bu blog gönderisinde uyumluluğu sağlamak için gerçekleştirmeniz gereken adımlar özetlenmiştir.

Daha fazla bilgi için çok faktörlü kimlik doğrulama gereksinimi kılavuzuna bakın.

Bir uygulamayı kaydettikten sonra Microsoft Advertising hesabını yönetmeniz için kullanıcı onayı almanız gerekir.

İpucu

Sorun giderme yardımı için Yaygın OAuth hataları kılavuzuna bakın.

Önemli

Uygulamanızın Microsoft Advertising hesaplarını yönetmesi için her kullanıcıdan sorulmalı ve bir web tarayıcısı denetimi aracılığıyla en az bir kez onay verilmelidir. Bu standart bir OAuth 2.0 akışıdır ve OAuth 2.0 belirtiminin Yetkilendirme Kodu Verme bölümünde ayrıntılı olarak tanımlanır.

Yetkilendirme kodu akışı, istemcinin kullanıcıyı uç noktaya yönlendirmesiyle /authorize başlar. Bu istekte istemci, kullanıcıdan alması gereken izinleri gösterir:

Not

Aşağıdaki your_client_idAzure portal - Uygulama kayıtları portalının uygulamanızı atadığı uygulama (istemci) kimliğiyle değiştirin.

// 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. Aşağıdaki URL'yi kopyalayıp tarayıcınıza yapıştırarak bu örnek kullanıcı onayı isteğini yürütebilirsiniz.

Not

Aşağıdaki URL'deki your_client_idAzure portal - Uygulama kayıtları portalının uygulamanızı atadığı uygulama (istemci) kimliğiyle değiştirin.

<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. Microsoft hesabı kimlik bilgilerinizle oturum açın ve uygulamanıza Microsoft Advertising hesaplarınızı yönetmek için onay verin.
  2. Oturum açtıktan sonra tarayıcınızın adres çubuğundaki bir code ile adresine yönlendirilmesi https://localhost/myapp/ gerekir. Sayfadaki hata iletisini yoksayabilirsiniz.
  3. Ardından , erişim ve yenileme belirteçleri almak için kodu kullanacaksınız.

Microsoft kimlik platformu uç noktası, kullanıcının sorgu parametresinde belirtilen izinlere onay verdiğinden scope de emin olur. Kullanıcı bu izinlerden herhangi birini onaylamadıysa, kullanıcıdan gerekli izinleri onaylamasını ister. Bu kılavuz öncelikli olarak aracılığıyla Microsoft Advertising hesaplarını scope=https://ads.microsoft.com/msads.manageyönetmeye odaklanmış olsa da, Microsoft kimlik platformundaki izinler ve onay hakkında daha fazla ayrıntı burada verilmiştir.

Kullanıcı kimlik doğrulaması yapıp onay verdikten sonra Microsoft kimlik platformu uç noktası, parametresinde response_mode belirtilen yöntemi kullanarak belirtilen konumunda redirect_uriuygulamanıza bir yanıt döndürür. Örneğin geri çağırma URI'sinde, kullanıcı uygulamanızın Microsoft Advertising hesaplarını yönetmesi için izin vermişse aşağıdaki gibi bir yetkilendirme kodu bulunur: http://localhost/myapp/?code=CodeGoesHere& state=12345.

Kullanıcı uygulamanıza Microsoft Advertising hesaplarını yönetmek için izin verdiyse, sonraki adımda kodu hemen kullanmanız gerekir. Yetkilendirme kodunun kısa süresi (yaklaşık 5 dakika) değiştirilebilir. Kullanıcı Microsoft Advertising hesaplarını yönetmek için uygulama izinlerinizi reddettiyse, geri çağırma URI'sinde aşağıdaki gibi bir hata ve hata açıklaması alanı bulunur: http://localhost/myapp/?error=access_denied& error_description=ERROR_DESCRIPTION&state=ClientStateGoesHere. OAuth hataları hakkında daha fazla ayrıntı için bkz. Yaygın OAuth Hataları ve Kimlik Doğrulaması ve yetkilendirme hata kodları.

Aşağıdaki tabloda, Bing Ads API istemcilerinin onay isteğine ekleyebilecekleri parametreler yer almaktadır. İsteğe bağlı parametreler hakkında ek ayrıntılar için Microsoft kimlik platformu OAuth 2.0 yetkilendirme kodu akışı belgelerine bakın.

Parametre Gerekli/İsteğe Bağlı Açıklama
client_id Gerekli Azure portalı - Uygulama kayıtları portalının uygulamanızı atadığı uygulama (istemci) kimliği.
code_challenge Önerilen Kod Değişimi (PKCE) için Proof Key aracılığıyla yetkilendirme kodu vermelerin güvenliğini sağlamak için kullanılır. Dahil edilirse code_challenge_method gereklidir. Daha fazla bilgi için bkz. PKCE RFC. Bu özellik artık yerel uygulamalar, SPA'lar ve web uygulamaları gibi gizli istemciler gibi tüm uygulama türleri için önerilir.
code_challenge_method Önerilen parametresi için kodlamak code_verifier için code_challenge kullanılan yöntem. Aşağıdaki değerlerden biri olabilir:

- plain
- S256

Dışlanırsa, code_challenge varsa düz metin code_challenge olarak kabul edilir. Microsoft kimlik platformu hem hem S256de plain 'i destekler. Daha fazla bilgi için bkz. PKCE RFC.
prompt opsiyonel Uygulamanızın gerektirdiği kullanıcı etkileşimi türünü gösterir. Desteklenen değerler şunlardır:
- prompt=login , kullanıcıyı bu istekte kimlik bilgilerini girmeye zorlar ve çoklu oturum açmayı olumsuz algılar.
- prompt=none "oturum açma" ifadesinin tersidir, yani kullanıcıya herhangi bir etkileşimli istem sunulmamasını sağlar. İstek çoklu oturum açma yoluyla sessizce tamamlanamazsa Microsoft kimlik platformu uç noktası interaction_required hatası döndürür.
- prompt=consent kullanıcı oturum açtığında OAuth onayı iletişim kutusunu tetikler ve kullanıcıdan uygulamaya izin vermesini ister.
- prompt=select_account çoklu oturum açmayı kesintiye uğratacak ve oturumdaki tüm hesapları veya hatırlanan hesapları listeleyerek hesap seçimi deneyimini ya da tamamen farklı bir hesap kullanmayı seçme seçeneğini sağlayacaktır.
redirect_uri Gerekli Kimlik doğrulama yanıtlarının uygulamanız tarafından gönderilip alınabildiği uygulamanızın redirect_uri. Url kodlanmış olması dışında portalda kaydettiğiniz redirect_uris biriyle tam olarak eşleşmelidir. Yerel & mobil uygulamaları için varsayılan değerini https://login.microsoftonline.com/common/oauth2/nativeclientkullanmanız gerekir.
response_mode Önerilen Elde edilen belirteci uygulamanıza geri göndermek için kullanılacak yöntemi belirtir. Aşağıdakilerden biri olabilir:

- query
- fragment
- form_post

query yeniden yönlendirme URI'nizde sorgu dizesi parametresi olarak kodu sağlar. Örtük akışı kullanarak bir kimlik belirteci istiyorsanız OpenID belirtiminde belirtilen şekilde kullanamazsınızquery. Yalnızca kodu istiyorsanız , fragmentveya form_postkullanabilirsinizquery. form_post yeniden yönlendirme URI'nize kodu içeren bir POST yürütür. Daha fazla bilgi için bkz. OpenID Connect protokolü.
response_type Gerekli Yetkilendirme kodu akışı için içermelidir code .
scope Gerekli Kullanıcının onay vermesini istediğiniz alanla ayrılmış kapsam listesi . Kullanıcıdan Microsoft Advertising erişimi istemeyi eklemeyi https://ads.microsoft.com/msads.manage unutmayın. Yanıta bir yenileme belirteci eklendiğinden emin olmak için dahil edin offline_access .
state Önerilen İstekte bulunan ve belirteç yanıtında da döndürülecek bir değer. İstediğiniz içeriğin bir dizesi olabilir. Rastgele oluşturulan benzersiz bir değer genellikle siteler arası istek sahteciliği saldırılarını önlemek için kullanılır. Bu değer, kimlik doğrulama isteği gerçekleşmeden önce kullanıcının uygulamadaki durumuyla ilgili bilgileri de (örneğin, üzerinde bulunduğu sayfa veya görünüm) kodlayabilir.
tenant Gerekli {tenant} İstek yolundaki değer, uygulamada kimlerin oturum açabileceğini denetlemek için kullanılabilir. Uygulamanızın hem MSA kişisel hesaplarını hem de Azure AD iş veya okul hesaplarını desteklediğinden emin olmak için Bing Ads API kimlik doğrulaması için kiracı olarak kullanmanızı common öneririz.

Uygulamanızın başka bir kiracı gerektirmesi durumunda daha fazla bilgi için bkz. Microsoft kimlik platformu uç noktaları .

Sonraki adımlar

Ayrıca Bkz

Başlarken