Uygulama kimlik bilgisi oluşturma

POST /v1/applications/{application_id}/credentials · İzin applications:write · isteğe bağlı Idempotency-Key

Bir uygulamaya kimlik bilgisi ekler: platform tarafından üretilen bir istemci sırrı (type: client_secret) veya private_key_jwt için kayıtlı bir genel anahtar (type: public_key).

İstek

Parametre Konum Açıklama
application_id path Uygulama kimliği (app_…).

Gövde:

Alan Tür Açıklama
type string Zorunlu. client_secret veya public_key.
expires_at string (date-time) İsteğe bağlı, yalnızca client_secret için; gelecekte olmalıdır.
jwk object public_key için zorunlu; en fazla 16 KiB genel bir JWK.

Yanıt

Cache-Control: no-store ile 201 Created. Liste yanıtındaki gibi kimlik bilgisi nesnesi; client_secret için ayrıca client_secret alanı da bulunur.

{
  "id": "cred_0000000000000000000000001z",
  "type": "client_secret",
  "secret_last4": "abcd",
  "client_secret": "<shown once>",
  "expires_at": null
}

Hatalar

HTTP code Ne zaman
401 unauthenticated Anahtar eksik, geçersiz veya iptal edilmiş.
403 insufficient_permissions Anahtarın gerekli izni yok.
404 not_found Uygulama bu ortamda mevcut değil.
409 credential_limit_reached Uygulamanın zaten en fazla sayıda etkin sırrı (2) veya anahtarı (5) var.
409 conflict Aynı genel anahtar bu uygulama için zaten kayıtlı.
422 validation_failed Gövde geçersiz: bilinmeyen type, eksik jwk, özel JWK üyeleri, çok büyük JWK, geçmişte olan veya public_key ile gönderilen expires_at ya da uygulama türünün izin vermediği bir kimlik bilgisi türü (/type: not_allowed: client_secret yalnızca web ve m2m için; public_key web, m2m, device ve management için; spa ve native genel istemcilerdir ve kimlik bilgisi almaz).
503 service_unavailable Kimlik bilgisi kaydı geçici olarak kullanılamıyor; Retry-After süresinden sonra yeniden deneyin.

Örnek

curl -X POST https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg/credentials \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"type":"client_secret"}'