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"]}'