Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR: Geliştirici | Temel | Temel v2 | Standart | Standart v2 | Premium | Premium v2
Temsilci seçme, web sitenizin kullanıcı verilerine sahip olmasını ve geliştirici portalı kullanıcıları için özel doğrulama gerçekleştirmesini sağlar. Temsilci seçme ile, geliştirici portalının yerleşik işlevselliği yerine mevcut web sitenizi kullanarak geliştirici oturum açma ve kaydolma (ve ilgili hesap yönetimi işlemleri) ile ürün aboneliğini işleyebilirsiniz.
Geliştirici oturum açma ve kaydolma yetkisini alma
Geliştirici oturum açma, kaydolma ve geliştirici hesabı yönetimi seçeneklerini mevcut web sitenize devretmek için sitenizde özel bir temsilci uç noktası oluşturun. Bu özel temsilci, API Management geliştirici portalından başlatılan tüm oturum açma/kaydolma ve ilgili istekler için giriş noktası olarak görev yapar.
Son iş akışı şu adımlardan oluşur:
- Geliştirici, API Management geliştirici portalında oturum açma veya kaydolma bağlantısına ya da hesap yönetimi bağlantısına tıklar.
- Tarayıcı temsilci uç noktasına yeniden yönlendirir.
- Döndürülen temsilci uç noktası, kullanıcıyı oturum açma/kaydolma veya hesap yönetimi kullanıcı arabirimiyle yeniden yönlendirir veya sunar.
- İşlem tamamlandıktan sonra kullanıcı, bıraktığı konumda API Management geliştirici portalına geri yönlendirilir.
API Management'ı istekleri temsilci uç noktası üzerinden yönlendirecek şekilde ayarlama
Azure portalında API Management örneğine gidin.
Kenar çubuğu menüsünde, Geliştirici portalı'nın altında Temsilci Seçme'yi seçin.
Temsilci seçmeyi etkinleştir onay kutusunu seçin.
Temsilci oturum açma ve kaydolmayı etkinleştirmek için onay kutusunu seçin.
Özel temsilci uç noktanızın URL'sini seçin ve Temsilci hizmeti uç noktası alanına girin.
Temsilci anahtarları bölümünde:
- API Management'tan gelen istekleri doğrulamak için temsilci hizmetiniz tarafından kullanılacak Birincil doğrulama anahtarını veya İkincil doğrulama anahtarını (veya her ikisini birden) oluşturun. Herhangi bir anahtarın yanındaki üç noktayı (...) ve ardından Yeniden Oluştur'u seçin.
- Her iki anahtarın yanındaki üç noktaya (...) tıklayın ve ardından Kopyala seçeneğini seçin. Anahtarları güvenli bir konuma kopyalayın ve temsilci hizmetinizi yapılandırırken kullanın.
Kaydetseçeneğini seçin.
Tavsiye
Temsilci doğrulama anahtarlarını istediğiniz zaman döndürebilir ve yeniden oluşturabilirsiniz. Döndürme birincil anahtarı ikincil anahtarla değiştirir ve ikincil anahtarı yeniden oluşturur. Anahtarları kaydettikten sonra temsilci hizmetinizi yeni anahtarları kullanacak şekilde güncelleştirin.
Temsilci uç noktanızı oluşturma
Sitenizde uygulanacak yeni bir temsilci uç noktası oluşturmak için şu adımları izleyin:
İşleme bağlı olarak aşağıdaki formda bir istek alın:
http://www.yourwebsite.com/apimdelegation?operation={operation}& returnUrl={Kaynak sayfanın URL'si}&salt={string}&sig={string}
-Veya-
http://www.yourwebsite.com/apimdelegation?operation={operation}& userId={account}&salt={string}&sig={string} kullanıcı kimliği
Sorgu parametreleri:
Parametre Açıklama işlem Temsilci isteği türünü tanımlar. Kullanılabilir işlemler: SignIn, SignUp, ChangePassword, ChangeProfile, CloseAccount, SignOut. returnUrl Oturum Açma veya Kaydolma'da, kullanıcının oturum açma veya kaydolma bağlantısına tıkladığı URL. userId ChangePassword, ChangeProfile, CloseAccount ve SignOut'ta, yönetmek istediğiniz hesabın kullanıcı kimliği. tuz Güvenlik karması hesaplama için kullanılan özel bir tuz dizesi. Sıg Kendi hesaplanan karmanızla karşılaştırmak için kullanılan hesaplanan güvenlik karması. İsteğin Azure API Management'tan geldiğini doğrulayın (isteğe bağlı, ancak güvenlik için kesinlikle önerilir).
ReturnUrl (veya UserId) ve salt sorgu parametrelerine göre bir dizenin HMAC-SHA512 karması hesaplama. Örnekler için örnek kodumuzu gözden geçirin.
Oturum Açma ve Kaydolma için:
HMAC(salt + '\n' + returnUrl)ChangePassword, ChangeProfile, CloseAccount ve SignOut için:
HMAC(salt + '\n' + userId)Yukarıdaki hesaplanan karmayı sig sorgu parametresinin değeriyle karşılaştırın. İki karma eşleşiyorsa, sonraki adıma geçin. Aksi takdirde isteği reddedin.
Oturum açma/kaydolma veya hesap yönetimi işlemi isteği aldığınızı doğrulayın.
Kullanıcıya oturum açma/kaydolma veya hesap yönetimi kullanıcı arabirimi sunma.
İşlemi sizin tarafınızda tamamladıktan sonra API Management'ta kullanıcıyı yönetin. Örneğin, kullanıcı kaydolırsa API Management'ta buna karşılık gelen bir hesap oluşturun.
- API Management REST API'siyle bir kullanıcı oluşturun.
- Kullanıcı kimliğini, kullanıcı deponuzdaki aynı değere veya yeni, kolay izlenen bir kimlik olarak ayarlayın.
Oturum açma veya kaydolma sonrasında, kullanıcının kimliği başarıyla doğrulandığında:
API Management REST API aracılığıyla paylaşılan erişim belirteci isteyin.
Yukarıdaki API çağrısından aldığınız SSO URL'sine bir returnUrl sorgu parametresi ekleyin. Örneğin:
https://contoso.developer.azure-api.net/signin-sso?token=<URL-encoded token>&returnUrl=%2Freturn%2FurlKullanıcıyı yukarıda oluşturulan URL'ye yeniden yönlendirin.
Ürün aboneliğini devretme
Ürün aboneliklerini temsilci seçme, kullanıcı oturum açma/kaydolma için temsilci seçmeye benzer şekilde çalışır. Son iş akışı şu adımlardan oluşur:
- Geliştirici, API Management geliştirici portalında bir ürün seçer ve Abone Ol düğmesini seçer.
- Tarayıcı temsilci uç noktasına yeniden yönlendirir.
- Temsilci uç noktası, tasarladığınız gerekli ürün aboneliği adımlarını gerçekleştirir. Bu adımlar şunları içerebilir:
- Faturalama bilgilerini istemek için başka bir sayfaya yönlendiriliyor.
- Daha fazla soru sormak.
- Bilgileri depolama ve herhangi bir kullanıcı eylemi gerektirmeme.
API Management işlevini etkinleştirme
Temsilci seçme sayfasında Temsilci seçmeyi etkinleştir onay kutusunu seçin ve ardından Temsilci ürün aboneliğini etkinleştirin.
Temsilci uç noktanızı oluşturma
Siteniz için yeni bir temsilci uç noktası oluşturmak için şu adımları izleyin:
İşleme bağlı olarak aşağıdaki formda bir istek alın.
http://www.yourwebsite.com/apimdelegation?operation={operation}&p roductId={abone olunacak ürün}&userId={user making request}&salt={string}&sig={string}
-Veya-
http://www.yourwebsite.com/apimdelegation?operation={operation}& subscriptionId={yönetilecek abonelik}&salt={string}&sig={string}
Sorgu parametreleri:
Parametre Açıklama işlem Temsilci isteği türünü tanımlar. Geçerli ürün aboneliği isteği seçenekleri şunlardır: - Abone ol: Kullanıcıyı verilen kimlikle belirli bir ürüne abone olma isteği (aşağıya bakın).
- Abonelikten çıkma: Bir kullanıcının ürün aboneliğinden çıkma isteği
Productıd Abone Ol'da, kullanıcının abonelik istediği ürün kimliği. userId Abone ol'da, istekte bulunan kullanıcının kimliği. abonelikKimliği Aboneliği kaldır'da ürün aboneliği kimliği. tuz Güvenlik karması hesaplama için kullanılan özel bir tuz dizesi. Sıg Kendi hesaplanan karmanızla karşılaştırmak için kullanılan hesaplanan güvenlik karması. İsteğin Azure API Management'tan geldiğini doğrulayın (isteğe bağlı, ancak güvenlik için kesinlikle önerilir).
ProductId ve userId (veya subscriptionId) ve salt query parametrelerine dayalı olarak bir dizenin HMAC-SHA512'sini hesaplama:
Abone Ol için:
HMAC(salt + '\n' + productId + '\n' + userId)Abonelikten Çıkma için:
HMAC(salt + '\n' + subscriptionId)Yukarıdaki hesaplanan karmayı sig sorgu parametresinin değeriyle karşılaştırın. İki hash eşleşiyorsa, sonraki adıma geçin. Aksi takdirde isteği reddedin.
Ürün aboneliğini, işlemde istenen işlem türüne göre işleyin (örneğin: faturalama, diğer sorular vb.).
İşlemi sizin tarafınızda tamamladıktan sonra API Management'ta aboneliği yönetin. Örneğin, abonelikler için REST API'yi çağırarak kullanıcıyı API Management ürününe abone yapın.
Örnek kod
Bu kod örnekleri, kullanıcı oturum açma veya kaydolma yetkisini alırken sorgu parametresinin returnUrl karması oluşturma işlemini gösterir.
returnUrl, kullanıcının oturum açma veya kaydolma bağlantısına tıkladığı sayfanın URL'sidir.
- Azure portalının Temsilci seçme ekranında ayarladığınız temsilci doğrulama anahtarını alın.
- İmzayı doğrulayan ve geçirilen
returnUrlöğesinin geçerliliğini kanıtlayan bir HMAC oluşturun.
Küçük bir değişiklikle, ile ve productId ürün aboneliğini temsilci olarak seçme gibi userId diğer karmaları hesaplamak için aynı kodu kullanabilirsiniz.
returnUrl karması oluşturmak için C# kodu
using System.Security.Cryptography;
string key = "delegation validation key";
string returnUrl = "returnUrl query parameter";
string salt = "salt query parameter";
string signature;
using (var encoder = new HMACSHA512(Convert.FromBase64String(key)))
{
signature = Convert.ToBase64String(encoder.ComputeHash(Encoding.UTF8.GetBytes(salt + "\n" + returnUrl)));
// change to (salt + "\n" + productId + "\n" + userId) when delegating product subscription
// compare signature to sig query parameter
}
returnUrl karması oluşturmak için kod Node.js
var crypto = require('crypto');
var key = 'delegation validation key';
var returnUrl = 'returnUrl query parameter';
var salt = 'salt query parameter';
var hmac = crypto.createHmac('sha512', new Buffer(key, 'base64'));
var digest = hmac.update(salt + '\n' + returnUrl).digest();
// change to (salt + "\n" + productId + "\n" + userId) when delegating product subscription
// compare signature to sig query parameter
var signature = digest.toString('base64');
Önemli
Temsilci değişikliklerinin geçerli olması için geliştirici portalını yeniden yayımlamanız gerekir.
İlgili içerik
- Geliştirici portalı hakkında daha fazla bilgi edinin
- Microsoft Entra Kimliğini kullanarak veya Microsoft Entra Dış Kimliği ile kimlik doğrulaması
- Geliştirici portalıyla ilgili daha fazla soru mu var? Soruların yanıtlarını SSS bölümünde bulabilirsiniz.