Kimlik doğrulama ve yetkiler
Client credentials
kommuns, client credentials akışı (RFC 6749 §4.4) için bir OAuth 2 sağlayıcısıdır: sisteminiz bir kişi olarak değil, entegrasyon olarak kimlik doğrular.
POST /oauth/token: grant_type=client_credentials ve istemcinin kimliği ve sırrı; ya HTTP Basic
(Authorization: Basic base64(client_id:client_secret)) ya da client_id / client_secret form alanları olarak. İsteğe
bağlı scope: entegrasyonun kapsamlarından boşlukla ayrılmış bir alt küme (verilmezse token hepsini alır).
| Yanıt | Anlamı |
|---|---|
200 access_token, expires_in (3600), scope | Token'ı bir saat kullanın. |
401 invalid_client | Bilinmeyen istemci kimliği ya da yanlış sır. |
400 unauthorized_client | Entegrasyon kapalı, kommuns tarafından devre dışı, paket API içermiyor ya da organizasyon askıda. |
400 invalid_scope | Entegrasyonun sahip olmadığı bir kapsam. |
400 unsupported_grant_type | Yalnız client_credentials desteklenir. |
Token'ı Authorization: Bearer <token> olarak gönderin. Organizasyon token'dan gelir — gönderdiğiniz bir başlıktan
değil.
Entegrasyonun sırrı yenilenince, entegrasyon kapatılınca ya da silinince, kapsamları daraltılınca, kommuns devre dışı bırakınca ya da paket artık API içermeyince token'lar hemen çalışmaz. Sırrı sisteminizin sır deposunda tutun; sızarsa Organizasyon › Entegrasyonlar'da yenileyin.
Kapsamlar
| Kapsam | İzin verdiği |
|---|---|
inventory:read | Lokasyonlar, sistemler, ekipmanlar, alt ekipmanlar. |
work_orders:read | İş emirleri, durumları ve yetkilileri. |
work_orders:write | İş emri oluşturma, değiştirme, atama, iptal, cevaplama ve tamamlama. |
issues:read | Geri bildirimler. |
issues:write | Geri bildirim oluşturma (ör. sensör alarmı). |
forms:read | Organizasyonun formları ve bir iş emrinin cevapları. |
files:read | Dosyalar (sonraki bir sürüm için ayrıldı). |
people:read | Kişiler ve takımlar: ad, e-posta, telefon — kişisel veri. Bu kapsam olmadan atanan kişiler yalnız id olarak görünür. |
Yetkiler: kapsamlar ∩ entegrasyonun yetkileri
Entegrasyon organizasyonda bir kimliktir. Bir organizasyon yetki tanımıyla oluşturulur ve envanterde bir kişi gibi yetki alır: bir düğümde (lokasyon, sistem, ekipman) Yetkili Ata; oradaki yetki, tanımın söylediği gibi altına da geçer. API her kayıtta entegrasyonun yetkisini uygulamanın bir kişi için hesapladığı gibi hesaplar:
- Envanter: herhangi bir yetkisi olan düğümler.
- İş emirleri: düğümünde iş emri okuma yetkisi olanlar, entegrasyona atananlar, oluşturabildiği yerde kendi oluşturdukları ve — servis firması için — organizasyona atanmış müşteri iş emirleri (organizasyonun "Gelen İş Emirleri" yetkisiyle).
- Geri bildirimler: düğümünde geri bildirim okuma yetkisi olanlar.
- Yazma da uygulamanın kurallarına uyar, bkz. İş emri yazma ve tamamlama.
Entegrasyonun okuyamadığı bir kayıt, yokmuş gibi 404 döner.
Sınırlar
Paket, bir entegrasyonun dakikada kaç çağrı yapabileceğini ve organizasyonun kaç entegrasyonu olabileceğini belirler.
Her yanıtta X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset (saniye) başlıkları vardır; sınır aşılınca
API 429 rate_limited ve Retry-After döner. Organizasyon › Entegrasyonlar her entegrasyonun bugünkü çağrı sayısını
gösterir.