API anahtarı - içerik veya başlıkta


14

Şu anda bir API üzerinde çalışmak ve sadece API anahtarını iletmek için en iyi yerin nerede olması gerektiği hakkında fikir toplamak istedim. URL girmemelidir biliyorum, bu istek üstbilgisi veya ileti gövdesi bırakır.

Başlığa koyarsam, tüm hizmetlerde kullanılabilecek genel bir yöntemle gelebilirim, ancak teslim ettiğim özellik gövdede (yani bir JSON dizesinde yer alıyor) POST gövdesindeki serileştirilmiş nesne).


Ayrıca, tüm istek türlerinin bir gövdeye sahip olmaması gerektiğini ve anahtarsız bir anahtarın üstbilgide olması gerektiğini belirten bir isteği doğrulamak istiyorsanız unutmayın.
Whymarrh

Yanıtlar:


11

HTTP'de bunun için bir Authorizationbaşlık vardır.

Genellikle kullanıcıların kimlik bilgilerini sağlamak için kullanılırken, bir API durumunda, istemcinin kimliğini ve ilgili API anahtarını içerebilir.

Birkaç faydası vardır:

  • Farklı çerçevelerden destek. Birçok çerçeve Authorizationkimlik doğrulaması için üstbilgiyi bekler . Kullanmamak, bu çerçeveleri özel değerlerle beslemek için ek kod yazmaya zorlar.

  • Farklı araçlardan destek. Örneğin CURL.

  • Daha az “WTF bu API anahtarını nerede bulabilir / koyabilirim ?!” takıma katılan yeni geliştiricilerden (veya API'nız için yeni müşteriler tasarlayan geliştiricilerden).

  • Ardından gibi HTTP durum kodu tanımları kullanabilir 401 Unauthorized, bunun için :

    Yanıt bir WWW-Authenticate başlık alanı içermelidir ZORUNLU [...] İstemci isteği uygun bir Yetkilendirme başlık alanı ile tekrarlayabilir.

İsteğin gövdesine taşımak hızlı bir şekilde acı verebilir. Çoğu çerçeve ve araç, bir talebe bir gövde eklemeyi çok kolay hale getirmez, bu da API'nızı olması gerekenden daha zor hale getirebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.