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:
- Sağ üst köşedeki dişli simgesine tıklayın.
- Yönetici ayarları'nı seçin.
- Ayarlar sekmesine gidin.
- Sol menüdeki Kimlik Doğrulama sekmesine tıklayın.
- API Anahtarları'na gidin ve Yönet'e tıklayın.
- API Anahtarı Oluştur butonuna tıklayın.
- 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.
- Bir Grup seçin. Anahtar, o gruba verilen aynı izinlere sahip olacaktır.
- Oluştur'a tıklayın.
- 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:
- Sağ üst köşedeki dişli simgesine tıklayın.
- Yönetici ayarları'nı seçin.
- Ayarlar sekmesine gidin.
- Sol menüdeki Kimlik Doğrulama sekmesine tıklayın.
- 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:
- Sağ üst köşedeki dişli simgesine tıklayın.
- Yönetici ayarları'nı seçin.
- Ayarlar sekmesine gidin.
- Sol menüdeki Kimlik Doğrulama sekmesine tıklayın.
- API Anahtarları'na gidin ve Yönet'e tıklayın.
- Silmek istediğiniz anahtarı seçin ve çöp kutusu simgesine tıklayın.
- 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));