Rol izinlerini ayarla
PUT /fapi/v1/organizations/{org_id}/roles/{role_id}/permissions · ortamın oturum açma ana bilgisayarından çağrılır
Bir kuruluş rolünün izin kümesini değiştirir. Yalnızca ortamın kuruluş rolleri için izin verdiği izinler kullanılabilir ve yöneticiler yalnızca kendilerinde bulunan izinleri verebilir. İzinler ve API'ler burada oluşturulamaz. Kimliği doğrulanmış kullanıcının __Host-idp_session çerezi gereklidir; çerez yoksa, süresi dolmuşsa veya iptal edilmişse 401 unauthenticated döndürülür. Farklı bir kökendeki birinci taraf bir uygulama bunun yerine ön yüz API erişim belirtecini gönderebilir (Authorization: DPoP <token> ile bir DPoP kanıtı; bkz. Ön yüz API erişim belirteci). Kullanıcı, kuruluşun aktif bir üyesi olmalı ve idp_roles:manage iznine sahip olmalıdır. Üye olmayan bir kullanıcı 404 not_found alır; böylece kuruluşun varlığı açığa çıkmaz. İzni olmayan bir üye 403 insufficient_permissions alır. Kuruluş rolleri ortam için etkinleştirilmiş ve planına dahil edilmiş olmalıdır.
İstek
Üstbilgiler:
| Üstbilgi | Zorunlu | Açıklama |
|---|---|---|
Idp-Client |
evet | SDK tanımlayıcısı. |
Origin |
evet | Tam olarak https://<oturum açma ana bilgisayarı> olmalıdır. |
Content-Type |
gövdeyle birlikte | application/json. |
If-Match |
hayır | Rolün son okunan "<version>" değeri; rol o zamandan beri değiştiyse 412 precondition_failed döndürülür ve hiçbir şey değişmez. |
org_id: kuruluş tanımlayıcısı (org_…). role_id: rol tanımlayıcısı (rol_…).
Gövde:
| Alan | Zorunlu | Açıklama |
|---|---|---|
permission_ids |
evet | Tam küme, en fazla 100 izin tanımlayıcısı (perm_…); [] tüm izinleri kaldırır. |
Yanıt
Yeni bir ETag ile 200 OK; gövde rolün kendisidir (bkz. Kuruluş rolünü al).
Hatalar
| Durum | Kod | Ne zaman |
|---|---|---|
| 401 | unauthenticated |
Geçerli oturum çerezi yok. |
| 403 | origin_not_allowed |
Origin eksik veya yanlış. |
| 403 | insufficient_permissions |
Kullanıcının kuruluşta idp_roles:manage izni yok. |
| 403 | plan_feature_unavailable |
Ortamın planı kuruluş rollerini içermiyor (feature, required_plan). |
| 403 | org_custom_roles_disabled |
Kuruluş rolleri ortam için kapalı. |
| 403 | role_not_assignable |
Rol veya yeni küme, kullanıcının sahip olmadığı bir izni veriyor ya da kullanıcının kendi üyeliği bu rolü taşıyor. |
| 404 | not_found |
Bu kullanıcı için böyle bir kuruluş veya kuruluş rolü yok; ortam rolü, bilinmeyen, hatalı biçimli veya başkasına ait bir tanımlayıcı aynı yanıtı verir. |
| 409 | organization_pending_deletion |
Kuruluş silinmek üzere planlanmış. |
| 412 | precondition_failed |
If-Match geçerli sürümü göstermiyor veya istek işlenirken rol değişti. |
| 422 | permission_not_allowed |
Bir izin kuruluş rolleri için kullanılamaz. |
| 422 | permission_reserved |
Bir izin platform için ayrılmış. |
| 422 | validation_failed |
Liste geçersiz veya çok uzun. |
| 503 | service_unavailable |
Geçici olarak kullanılamıyor; Retry-After süresinden sonra yeniden deneyin. |
Örnek
curl -X PUT https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/roles/rol_01jbz6x8kq3m2n4p5r6s7t8v9w/permissions \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-H "Content-Type: application/json" \
-b cookies.txt \
-d '{"permission_ids":["perm_01jbz6x8kq3m2n4p5r6s7t8v9b"]}'