Ana içeriğe geç

API anahtarları

Patrona, API'ye programatik isteklerin kimliğini doğrulamak için API anahtarları oluşturabilir. Bir API anahtarının izinlerini ayarlamak için, anahtarı bir gruba atayabilirsiniz.

Patrona'nın API'si hakkında adil uyarı

Patrona API'sinin sürümünü yayınlamıyoruz. API uç noktalarını nadiren değiştiriyoruz ve neredeyse hiç kaldırmıyoruz, ancak API'ye dayanan kod yazarsanız, gelecekte kodunuzu güncellemeniz gerekebilir.

Bununla birlikte, çok sayıda kişi ve grupla izinleri yönetmek veya toplu arşivleme veya içerik oluşturma gibi API ile çalışmak güzel olabilir. Bu nedenle, programatik isteklerinizin kimliğini doğrulamak için API anahtarları oluşturma yeteneği ekledik.

API anahtarı oluşturma

Bir API anahtarı oluşturmak için:

  1. Sağ üst köşedeki dişli simgesine tıklayın.
  2. Yönetici ayarları'nı seçin.
  3. Ayarlar sekmesine gidin.
  4. Sol menüdeki Kimlik Doğrulama sekmesine tıklayın.
  5. API Anahtarları'na gidin ve Yönet'e tıklayın.
  6. API Anahtarı Oluştur butonuna tıklayın.
  7. Bir Anahtar adı girin. Birden çok API anahtarınız olabilir, bu nedenle anahtarı ne için kullandığınızı hatırlamanıza yardımcı olacak bir ad verin.
  8. Bir Grup seçin. Anahtar, o gruba verilen aynı izinlere sahip olacaktır.
  9. Oluştur'a tıklayın.
  10. Oluşturulan API anahtarını kopyalayın ve güvenli bir yerde saklayın. Patrona size anahtarı tekrar gösteremeyecektir. Anahtarı kaybederseniz, yeni bir anahtar oluşturmanız gerekecektir.

API Anahtarlarını Yönetme

Mevcut API anahtarlarını görüntülemek ve yönetmek için:

  1. Sağ üst köşedeki dişli simgesine tıklayın.
  2. Yönetici ayarları'nı seçin.
  3. Ayarlar sekmesine gidin.
  4. Sol menüdeki Kimlik Doğrulama sekmesine tıklayın.
  5. API Anahtarları'na gidin ve Yönet'e tıklayın.

API anahtarlarını düzenleme

Bir API anahtarını düzenlemek için, düzenlemek istediğiniz anahtara gidin ve kalem simgesine tıklayın. Patrona, düzenleyebileceğiniz bir API Anahtarını Düzenle modalı açacaktır:

  • Anahtarın adı
  • Anahtarın ait olduğu grup.
  • Anahtarı değiştirin (yeniden oluşturun). Patrona, mevcut API anahtarını yeni bir anahtarla değiştirecektir. Eski anahtarı kurtaramayacaksınız.

API anahtarlarını silme

Silinen bir API anahtarını kurtaramayacaksınız. Yeni bir anahtar oluşturmanız gerekecektir.

Bir API Anahtarını silmek için:

  1. Sağ üst köşedeki dişli simgesine tıklayın.
  2. Yönetici ayarları'nı seçin.
  3. Ayarlar sekmesine gidin.
  4. Sol menüdeki Kimlik Doğrulama sekmesine tıklayın.
  5. API Anahtarları'na gidin ve Yönet'e tıklayın.
  6. Silmek istediğiniz anahtarı seçin ve çöp kutusu simgesine tıklayın.
  7. Patrona bir API Anahtarını Sil modalı açacaktır. API Anahtarını Sil butonuna tıklayın.

Patrona, silinen bir gruba atanan API anahtarlarını Tüm kullanıcılar grubuna aktaracaktır

Bir gruba atanmış API anahtarlarınız varsa, ancak daha sonra biri bu grubu silerse, API anahtarları hala çalışır, ancak Patrona bu anahtarları Tüm kullanıcılar grubuna yeniden atayacaktır. Gruplarını değiştirmek isterseniz, anahtarları manuel olarak düzenlemeniz gerekecektir.

Örnek GET istekleri

İşte Patrona'nızdaki grupları döndüren bazı örnek GET istekleri. Bu örnekler, Patrona'yı varsayılan bağlantı noktasında yerel olarak çalıştırdığınızı varsayar: 3000.

curl örneği

YOUR_API_KEY yerine yukarıda oluşturduğunuz API anahtarını kullanın.

curl \
-H 'x-api-key: YOUR_API_KEY' \
-X GET 'http://localhost:3000/api/permissions/group'

JavaScript örneği

Anahtarınızı şu şekilde bir ortam değişkeni olarak ayarladığınızı varsayalım:

export PATRONA_API_KEY="YOUR_API_KEY"

İşte grupların listesini almak için fetch kullanan temel bir GET isteği. Kodu kopyalayabilir, bir dosya olarak kaydedebilir (örneğin, api-test.js olarak) ve kodu node api-test.js ile çalıştırabilirsiniz.

// Anahtarı şu şekilde işlemde ayarladığınızı varsayalım
// `export PATRONA_API_KEY="YOUR_KEY_HERE"`
const API_KEY = process.env.PATRONA_API_KEY;

const init = {
headers: {
"Content-Type": "application/json",
"X-API-KEY": API_KEY,
},
};

const host = "http://127.0.0.1:3000";

async function getGroups() {
const response = await fetch(`${host}/api/permissions/group`, init);
return response.json();
}

getGroups().then(groups => console.log("Patrona'nızdaki Gruplar:", groups));

Daha fazla okuma