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).
- İstemci sırrı. Yanıt
client_secretdeğerini yalnızca bir kez içerir. Bu değer bir daha alınamaz; hemen saklayın. Bir uygulama en fazla 2 etkin sır tutabilir, böylece bir sır kesinti olmadan döndürülebilir. - Genel anahtar. Genel JWK'yi
jwkiçinde gönderin. Özel üyeler (d,p,q,dp,dq,qi,oth,k) içeren veya 16 KiB'tan büyük bir JWK reddedilir. Bir uygulama en fazla 5 anahtar tutabilir. - Idempotent tekrar. İsteğin aynı
Idempotency-Keyile tekrarlanması, saklanan yanıtı sır olmadan yeniden oynatır: gövdedesecret_redacted: truebulunur veclient_secretyoktur. Sır kaybolduysa yeni bir kimlik bilgisi oluşturun.
İ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"}'