Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Verify API Key türünde bir politika ekleyerek bir API için API anahtarı doğrulamasını ayarlayabilirsiniz. API anahtarını doğrulama politikası için gerekli olan tek ayar, istemci isteğinde API anahtarının beklenen konumudur. API proxy'si, belirttiğiniz konumu kontrol eder ve API anahtarını ayıklar. API anahtarı beklenen konumda yoksa hata verilir ve istek reddedilir. API anahtarları bir sorgu parametresinde, bir form parametresinde veya bir HTTP üstbilgisinde bulunabilir.
Örneğin, aşağıdaki politika yapılandırması, beklenen anahtar konumunu apikey adlı bir sorgu parametresi olarak tanımlar. Başarılı bir istek, API anahtarını isteğe eklenmiş bir sorgu parametresi olarak sunmalıdır. Örneğin,?apikey=Y7yeiuhcbKJHD790.
API anahtarlarını doğrulamak için aşağıdaki politikayı oluşturun:
<VerifyAPIKey name="APIKeyValidation"> <APIKey ref="request.queryparam.apikey"/> </VerifyAPIKey>
Bu politika, korunması gereken tüm API'lere eklenebilir.
Bu politika türüyle ilgili kapsamlı dokümanları politika referans konusundaki API anahtarını doğrulama politikası bölümünde bulabilirsiniz.
API proxy'leri, istekte bulunan tüm HTTP başlıklarını ve sorgu parametrelerini otomatik olarak geçirir. Bu nedenle, API anahtarı doğrulandıktan sonra, API anahtarının arka uç hizmetine kablo üzerinden gönderilmemesi için iletiden çıkarılması iyi bir fikirdir. Bunu, AssignMessage türünde bir politika kullanarak aşağıdaki şekilde yapabilirsiniz:
<AssignMessage name="StripApiKey"> <DisplayName>Remove Query Param</DisplayName> <Remove> <QueryParams> <QueryParam name="apikey"/> </QueryParams> </Remove> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"></AssignTo> </AssignMessage>
Politika eki
Politikalar, işleme adımları olarak bir API proxy akışına eklenmelidir. Politika, istek PreFlow'una uygulandığında API anahtarları, API proxy'sinin bir istemci uygulamasından aldığı her istekte doğrulanır. Doğrulamanın ardından API anahtarı, giden istekten çıkarılır.
Korunacak API proxy'sinin ProxyEndpoint'ine politikaları aşağıdaki şekilde ekleyin:
<ProxyEndpoint name="default"> <PreFlow> <Request> <Step><Name>APIKeyValidation</Name></Step> <Step><Name>StripApiKey</Name></Step> </Request> </PreFlow>
Politikayı ekledikten sonra API proxy'sini dağıtın.
Geçerli bir API anahtarıyla istek gönderme
Kuruluşunuzdaki bir yönetici olarak, herhangi bir uygulamanın API anahtarını aşağıdaki şekilde alabilirsiniz:
$ curl https://api.enterprise.apigee.com/v1/o/{myorg}/developers/{developer_email}/apps/{app_name} -u email:password
Bu çağrı için döndürülen uygulama profili, tüketici anahtarını (API anahtarı) ve gizli anahtarı sağlar. Tüketici anahtarı değeri, korumalı API'ye yaptığınız istekte API anahtarı için kullandığınız değerdir.
Örneğin, API anahtarı içermeyen bir istek yetkilendirme hatasıyla sonuçlanır.
$ curl http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282
Başarısızlık mesajı, politikada API anahtarı kontrol edildiğini ancak geçerli bir anahtar bulunamadığını gösterir:
OAuth Failure : Could not resolve the app key with variable request.queryparam.apikey
Uygulamanın tüketici anahtarı sorgu parametresi olarak eklendiğinde beklenen sonuç, başarılı yetkilendirmedir:
$ curl http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282&"apikey=PulSCqMnXGchW0pC0s5o9ngHVTWMeLqk"
Beklenen sonuç, hava durumu hizmetinden gelen başarılı bir yanıttır.
İsteklerdeki API anahtarı değerinin değiştirilmesi yetkilendirme hatasına neden olur:
$ curl http://{org_name}-test.apigee.net/weather?forecastrss?w=12797282&"apikey=PulSCqMnXGchW0"
Şunlarla sonuçlanır:
OAuth Failure : Consumer Key is Invalid
Kuruluşunuzun yöneticisi olarak, kuruluşta kayıtlı tüm uygulamaların tüketici anahtarını alabileceğinizi unutmayın:
$ curl https://api.enterprise.apigee.com/v1/o/{myorg}/developers/{developer_email}/apps/{app_name} -u email:password