> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OAuth-ügyfél-hitelesítő adatok

> Hozzon létre szűkített hatókörű szolgáltatásfiók-klienst, kezelje az egyszer megjelenő titkos kulcsokat, és végezze el biztonságosan a helyreállítást bizonytalan kérések esetén.

Használja az OAuth-ügyfél-hitelesítő adatokat, ha a háttérrendszeri integrációjának rövid élettartamú
hozzáférési tokenekre van szüksége, vagy ha a biztonsági szabályzata ezt előírja. Minden kliens
egy szolgáltatásfiókhoz és egy szervezethez tartozik. **Az OAuth használata nem kötelező:** egy szűkített hatókörű
API-kulcs elegendő olyan privát szerveroldali integrációhoz, amely biztonságosan tudja tárolni
és rotálni a kulcsot. A két módszer közötti választáshoz, valamint a szolgáltatásfiókok szerepének megértéséhez lásd a [Hitelesítés](/hu/developers/v1/authentication) című részt.

<Note>
  Az OAuth-hozzáférést engedélyezni kell a szervezete számára. A beállítás során Ön megkapja
  a regionális token végpontot, a kibocsátót (issuer), a célközönséget (audience) és a kliens-hitelesítési módszert.
  Ha szüksége van ezekre a beállításokra, vagy nem fér hozzá a kliensek kezeléséhez, forduljon
  a Living Security ügyfélszolgálatához.
</Note>

Az ügyfél-hitelesítő adatokra épülő engedélyezési típus (client credentials grant) az Ön szolgáltatásfiókját képviseli. Nem léptet be személyt,
és nem kér engedélyt ügyféltől egy alkalmazás számára. A böngészőn keresztüli delegált engedélyezés
külön OAuth-képesség, és ezek a műveletek nem kínálják.

## Előkészületek

* Hozzon létre egy [szolgáltatásfiókot](/hu/developers/developer-hub/service-accounts), amely csak
  az integrációhoz szükséges jogosultságokkal rendelkezik.
* Használjon olyan felügyeleti hitelesítő adatot, amely rendelkezik ezzel: `service_account:manage`, valamint minden olyan jogosultsággal,
  amelyet az új kliensnek meg kíván adni. A célfióknak szintén rendelkeznie kell ezekkel a
  jogosultságokkal. A kliens nem bővítheti egyik fiók jogosultságát sem.
* Válassza ki a szervezet [régióját](/hu/developers/v1/regions). Az API hitelesítő adatokat és
  az OAuth hozzáférési tokeneket a megfelelő regionális API-hoszton kell használni.
* A kliens titkos kulcsát és a tokeneket a szerveroldali titoktárolóban őrizze. Soha ne helyezze
  őket böngészőkódba, mobilalkalmazásokba, verziókezelőbe vagy kérésnaplókba.

## Kliens létrehozása

`POST /v1/oauth_clients` megköveteli ezt: `service_account_id`, továbbá explicit
`scopes` nem üres listáját és egy `Idempotency-Key` értéket. Helyettesítő karakterek nem fogadhatók el. Egy kliens legfeljebb
100 hatókört támogat, legfeljebb 4096 karakter együttes hosszúságban. Egy szolgáltatásfiókhoz legfeljebb 20 kliens
vagy nem lezárt létrehozási/takarítási művelet tartozhat.
A visszavonás azonnal megtagadja az API-hozzáférést. A kliens vagy a szolgáltatónál végrehajtott bizonytalan
létrehozás mindaddig beleszámít a korlátba, amíg a távoli takarítás meg nem erősödik.
Egy elhagyott foglalás, illetve egy olyan létrehozás, amelyről bizonyítható, hogy a szolgáltatói munka megkezdése előtt
meghiúsult, biztonságosan felszabadíthatja a helyét. Az újrapróbálkozási kulcs ettől még az eredeti
kísérlethez tartozik; a csere létrehozásáról való döntés előtt állítsa helyre az adott visszaigazolást.

Válasszon egy újrapróbálkozási kulcsot ehhez a létrehozási kísérlethez, és a kérés elküldése **előtt**
tárolja tartósan. Használjon 1–255 látható ASCII-karaktert, szóközök nélkül. Egy elveszett válasz után használja
újra ugyanazzal a fiókkal, hatókörökkel, felügyeleti principallal, régióval és API-verzióval. A felügyeleti hitelesítő adat
cseréje ugyanazon szolgáltatásfiók alatt nem hoz létre új újrapróbálkozási azonosítót.

Telepítse a Python `requests` csomagját. Töltse be a következő környezeti értékeket
a szokásos titok- és konfigurációkezelő rendszerén keresztül:

| Változó | Érték |
| - | - |
| `LIVING_SECURITY_API_KEY` | Felügyeleti API-kulcs |
| `LIVING_SECURITY_REGION` | `us` vagy `eu` |
| `LIVING_SECURITY_SERVICE_ACCOUNT_ID` | A célszolgáltatásfiók azonosítója |
| `LIVING_SECURITY_OAUTH_CREATE_KEY` | Korábban tartósan tárolt újrapróbálkozási kulcs |

```python Python theme={null}
import os
import requests

HOSTS = {
    "us": "https://api.us-east-1.livingsecurity.ai/v1",
    "eu": "https://api.eu-west-1.livingsecurity.ai/v1",
}
base = HOSTS[os.environ["LIVING_SECURITY_REGION"]]
response = requests.post(
    f"{base}/oauth_clients",
    auth=("apikey", os.environ["LIVING_SECURITY_API_KEY"]),
    headers={
        "Living-Security-Version": "2026-07-01",
        "Idempotency-Key": os.environ["LIVING_SECURITY_OAUTH_CREATE_KEY"],
    },
    json={
        "service_account_id": os.environ["LIVING_SECURITY_SERVICE_ACCOUNT_ID"],
        "scopes": ["organization:read"],
    },
    timeout=(5, 30),
    allow_redirects=False,
)
try:
    if response.status_code != 201:
        raise RuntimeError(
            f"Client creation needs review: HTTP {response.status_code}; "
            f"request_id={response.headers.get('Request-Id', 'unknown')}"
        )
    client = response.json()
    if client.get("object") != "oauth_client" or not client.get("id"):
        raise RuntimeError("Unexpected client receipt; preserve the retry key")
    if client.get("status") != "active" or not client.get("client_secret"):
        raise RuntimeError(
            f"Client {client['id']} needs recovery; no usable secret was returned"
        )
    # Persist client['id'], client['client_id'], and client['client_secret']
    # directly in your secret manager before using the client. Do not print them.
finally:
    response.close()
```

A példa egyetlen kérést küld, és az eredményt a memóriában tartja. Éles használat előtt a megjelölt helyen
adja hozzá a titokkezelője írási műveletét.
A példa szándékosan döntést követel bizonytalan eredmény esetén ahelyett, hogy csendben
újabb klienst hozna létre. A hálózati kivételek esetén is az alábbi helyreállítási lépések szükségesek.

A létrehozási és visszaigazolási válaszok `201` formátumot használnak, és tartalmaznak egy `oauth_client` erőforrást
a következőkkel: `id`, `service_account_id`, `client_id`, `scopes`, `status`, `created_at` és
`client_secret`. A válaszok megjelölése: `Cache-Control: no-store`.

* **`id`** azonosítja a platformerőforrást. Mentse el a lekérdezéshez és a visszavonáshoz.
* **`client_id`** azonosítja a klienst a token-kicserélés során. Nem azonos
  a platformerőforrás azonosítójával. Értéke `null` lehet, amíg a létrehozás függőben van.
* **`client_secret`** csak a létrehozást befejező kérésre érkezik vissza.
  Minden ismételt létrehozási kérés `null` értéket ad vissza, beleértve az elveszett
  sikeres válasz utáni újrapróbálkozást is. A lekérdezés soha nem ad vissza titkos kulcsot.

## Elveszett vagy megszakadt válasz utáni helyreállítás

Az erőforrás-visszaigazolás helyreállításához ismételje meg ugyanazt a létrehozási kérést a mentett újrapróbálkozási kulccsal.
A visszaigazolás az aktuális állapotot tükrözi, ezért a visszavont kliens visszavont marad.
Ez a művelet nem használja az általános, 24 órás gyorsítótárazott válasz-visszajátszási szabályt,
és nem ad vissza `Idempotent-Replayed` fejlécet.

| Eredmény | Következő lépés |
| - | - |
| `active`, a titkos kulcs jelen van | Mentse el biztonságosan a titkos kulcsot, és folytassa a bevezetést. |
| `active`, a titkos kulcs nincs jelen | A titkos kulcs nem állítható helyre. Vonja vissza ezt a klienst, győződjön meg a visszavonásról, majd hozzon létre egy cserekliens új újrapróbálkozási kulccsal. |
| `pending` | A létrehozás nincs megerősítve. Tartsa meg ugyanazt az újrapróbálkozási kulcsot. Kérdezze le az erőforrást az állapot megtekintéséhez; ne hozzon létre duplikátumokat a bizonytalanság megkerülésére. |
| `revoked`, `disabled` vagy `expired` | Ne használja ezt a klienst. A csere kiépítése előtt győződjön meg a kívánt fiókkonfigurációról. |
| `409 idempotency_key_reuse` | A kérés megváltozott egy már létező kulcs alatt. A különálló létrehozás szükségességének eldöntése előtt állítsa helyre az eredeti műveletet. |
| `409 invalid_request` | Ellenőrizze a célfiók állapotát és jogosultságait. Ha elérte a kliensek korlátját, az újrapróbálkozás előtt fejezze be a takarítást; az újrapróbálkozási kulcs módosítása nem szabadít fel kapacitást. |
| `429` | Tartsa be a következőt: `Retry-After`; őrizze meg ugyanazt a kulcsot és kérést. |
| `500`, `503` vagy hálózati időtúllépés | Az eredmény ismeretlen lehet. Őrizze meg a kulcsot és a bemeneti adatokat; másik kliens létrehozása előtt állítsa helyre a visszaigazolást. |
| `401` vagy `403` | Az újrapróbálkozás előtt oldja meg a hitelesítő adatokkal, jogosultságokkal vagy jogosultságcsomaggal kapcsolatos hozzáférési problémát. |
| `404` | Ellenőrizze az OAuth engedélyezését, a regionális hosztot és az erőforrás tulajdonjogát. |

A kérésazonosítókkal és a helyreállítási részletekkel kapcsolatban lásd a [hibákat](/hu/developers/v1/errors/overview).
Soha ne küldjön kliens titkos kulcsot vagy hozzáférési tokent támogatási kéréssel együtt.

## Lekérdezés és visszavonás

Használja a felügyeleti hitelesítő adatát és a platformerőforrás `id` azonosítóját:

| Művelet | Kérés | Siker |
| - | - | - |
| Aktuális állapot lekérdezése | `GET /v1/oauth_clients/{id}` | `200`, kliens-erőforrás titkos kulcs nélkül |
| Hozzáférés visszavonása | `DELETE /v1/oauth_clients/{id}` | `200`, visszavont kliens-erőforrás titkos kulcs nélkül |

A visszavonás letiltja a kliens további API-kéréseit, beleértve a már kiállított tokenekkel küldött
kéréseket is. Nem szakítja meg az API által már elfogadott munkát.
A távoli hitelesítőadat-takarítás később is befejeződhet. A visszavonás ismétlése biztonságos, és
nem igényel újrapróbálkozási kulcsot. Ha a visszavonandó kliens maga is API-hívó, továbbra is a felügyeleti hitelesítő adatot használja.

## Rotálás a hozzáférés elvesztése nélkül

Hozzon létre egy második klienst a szükséges hatókör-felső korláttal. Mentse el a titkos kulcsát, szerezzen
tokent a regionális token végponton keresztül, és ellenőrizze, hogy az integráció működik
vele. Állítsa át az integrációt a cserekliensre, majd vonja vissza a régi erőforrást.
Tartson fenn egy független felügyeleti hitelesítő adatot, hogy helyreállhasson egy hibás átállásból.

A hozzáférési tokenek nem adhatnak többet, mint a kliens hatókörei és a szolgáltatásfiók
aktuális jogosultságai. A fiókjogosultságok eltávolítása vagy a kliens visszavonása elsőbbséget élvez a token hátralévő
élettartamával szemben. Ne tekintse a gyorsítótárazott tokent annak bizonyítékának, hogy
az engedélyezés még érvényes. Lejárat előtt szerezzen új hozzáférési tokent a kliens ismételt
hitelesítésével; ez az engedélyezési típus nem használ frissítési tokeneket.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.