Gelişmiş OAuth 2.0 konuları

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Üçüncü taraf OAuth jetonlarını kullanma

Üçüncü Taraf OAuth Jetonlarını Kullanma başlıklı makaleyi inceleyin.

Birden fazla geri çağırma URL'si belirleme

Yetkilendirme kodu verme türü kullanılırken geliştirici uygulamanızı kaydederken bir geri çağırma URL'si belirtmeniz gerekir. Geri çağırma URL'si genellikle istemci uygulaması adına yetkilendirme kodu almak üzere belirlenmiş bir uygulamanın URL'sini belirtir. Ayrıca bu URL dizesi doğrulama için kullanılır. İstemcinin, yetkilendirme kodları ve erişim jetonları isterken bu URL'yi Apigee Edge'e göndermesi gerekir. Ayrıca redirect_uri parametresi, kayıtlı olanla eşleşmelidir. Ayrıca Erişim jetonları ve yetkilendirme kodları isteme başlıklı makaleyi de inceleyin.

Örneğin:

http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc

Tek bir proxy uygulamasında birden fazla geri çağırma URL'si belirtme kullanım alanı vardır. Örneğin, birden fazla alan için kimlik doğrulaması yapmak isteyebilirsiniz. Örneğin:

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • http://myexample.ja/callback

Edge, geliştirici uygulaması kaydedilirken birden fazla geri çağırma URL'si belirtmeyi veya joker karakter kullanmayı desteklemez. Bu kullanım alanını gerçekleştirmek için geliştirici uygulamasını kaydederken boş bir geri çağırma URL'si belirtebilir ve ardından gelen yönlendirme URI'lerini doğrulamak için bir JavaScript politikasına mantık yerleştirebilirsiniz.

GenerateAuthCode işleminin varsayılan döndürme davranışını değiştirme

Varsayılan olarak, OAuthV2 politikasının GenerateAuthCode işlemi, yetkilendirme kodunu içeren bir ?code sorgu parametresiyle geri çağırma URL'sine 302 yönlendirmesi döndürür.

Bazı durumlarda bu davranışı değiştirmek isteyebilirsiniz. Örneğin, kodu içeren yapılandırılmış JSON ile 200 yanıtı döndürmek isteyebilirsiniz.

Bu kullanım alanını gerçekleştirmek için OAuthV2 politikasının GenerateResponse özelliğini false olarak ayarlayabilirsiniz. oauthv2authcode.{policy_name}.code değişkeninden yetkilendirme kodunun değerini almak için ExtractVariable politikasını kullanın. Ardından, 200 durumlu bir JSON yükünde kodu döndürmek için AssignMessage politikasını kullanabilirsiniz.

Uygulama son kullanıcı iznini denetleme

Bir uygulama son kullanıcısının uygulamayı yetkilendirdiğini doğrulamanız gerekebilir. Bunu yapmak için Apigee Edge Audit API'yi kullanabilirsiniz.

Giden OAuth örneği

GitHub'daki Apigee api-platform-samples deposunda outbound-oauth örneğine bakın. Örneği klonlayabilir, dağıtabilir ve çalıştırabilirsiniz. Bu örnekte, tweet'leri çevirmek için Microsoft Azure Translator API kullanılmaktadır. Bunu yapmak için bir OAuth erişim jetonu almak üzere giden bir çağrı yapar ve ardından API Hizmetleri önbelleğe alma politikalarını kullanarak jetonu önbelleğe alır. Giden her çağrı yapıldığında önbelleğe alınan jetonu yeniden kullanır. Ayrıca, API proxy'sini çağırmak için kullanılan bir gösterim tarayıcı uygulaması da içerir.