Přeskočit obsah

Klienti

Klient je entita, která využívá autentizační a autorizační služby poskytované autorizačním serverem. Tato autorizace umožňuje Klientovi přístup k chráněným zdrojům. V běžném scénáři je Klient webová aplikace a Vlastník zdroje je backendová aplikace umístěná na vzdáleném serveru.

Než Klient může požádat o autorizaci, musí se zaregistrovat na autorizačním serveru a získat jedinečné ID. Registraci lze provést buď v Admin UI, nebo prostřednictvím Admin API.

Metadata klienta

Aktuální seznam metadat klienta podporovaných Seacat Auth lze získat pomocí API GET /client/features.

Kanonická metadata OAuth 2.0 a OpenID Connect

Definováno v OpenID Connect Dynamic Client Registration 1.0 a OAuth 2.0 Dynamic Client Registration Protocol.

client_id

NENÍ EDITOVATELNÉ Jedinečné ID Klienta. Ve výchozím nastavení je to neprůhledný řetězec generovaný autorizačním serverem. Je možné požádat o vlastní ID poskytnutím nekanonického parametru preferred_client_id v žádosti o registraci klienta. ID není možné upravit, jakmile je klient již registrován.

client_name

POŽADOVÁNO Lidsky čitelný název Klienta, který bude předložen koncovému uživateli.

client_secret

Tajný řetězec klienta OAuth 2.0. Tato hodnota je používána důvěrnými klienty k autentizaci na koncovém bodě tokenu. Je generována autorizačním serverem a není přímo editovatelná.

client_uri

URL domovské stránky Klienta.

redirect_uris

POŽADOVÁNO Pole hodnot URI pro přesměrování používané Klientem.

application_type

Typ aplikace. Výchozí hodnota, pokud je vynecháno, je web.

Podporované možnosti: web

response_types

JSON pole obsahující seznam hodnot response_type OAuth 2.0, které Klient deklaruje, že se omezí na používání. Pokud je vynecháno, výchozí hodnota je, že Klient použije pouze Response Type code.

Podporované možnosti: code

grant_types

JSON pole obsahující seznam Grant Types OAuth 2.0, které Klient deklaruje, že se omezí na používání. Pokud je vynecháno, výchozí hodnota je, že Klient použije pouze Grant Type authorization_code.

Podporované možnosti: authorization_code

token_endpoint_auth_method

Požadovaná metoda autentizace Klienta pro koncový bod tokenu. Pokud je vynecháno, výchozí hodnota je none.

Podporované možnosti: none

code_challenge_method

Metoda výzvy kódu (používá se v Proof Key for Code Exchange (PKCE)) kterou se Klient omezí na používání na koncovém bodě autorizace. Výchozí hodnota, pokud je vynecháno, je none.

Podporované možnosti:

  • none: PKCE je zakázáno.
  • plain: Výzva kódu je stejná jako ověřovatel kódu.
  • S256: Výzva kódu je odvozena od ověřovatele kódu pomocí hashovacího algoritmu SHA-256.

Nekanonic metadata

Toto jsou specifické funkce pro Seacat-Auth.

preferred_client_id

POUZE REGISTRACE Požaduje konkrétní client_id místo náhodně generovaného při registraci klienta.

redirect_uri_validation_method

Specifikuje metodu, jakým je validováno URI pro přesměrování používané v autorizačních požadavcích. Výchozí a doporučená hodnota je full_match.

Podporované možnosti:

  • full_match: Jediná možnost vyhovující OAuth2.0. Požadované URI pro přesměrování musí přesně odpovídat jednomu z registrovaných URI pro přesměrování.
  • prefix_match: Požadované URI pro přesměrování musí začínat jedním z registrovaných URI pro přesměrování a jejich hostname musí přesně odpovídat.
  • none: Neprovádí se žádná validace URI pro přesměrování. Není bezpečné.

NENÍ EDITOVATELNÉ Jedinečný název cookie odvozený z ID Klienta autorizačním serverem. Cookie s tímto názvem uchovává informace

Webhook URI pro nastavení dalších vlastních cookies na vstupním bodu cookie. Musí to být back-channel URI a musí přijímat JSON PUT požadavek a odpovídat JSON objektem cookies k nastavení.

cookie_entry_uri

Veřejné URI vstupního bodu cookie klienta. Toto pole je povinné pro autorizaci založenou na cookies (včetně autorizace batman). Takový vstupní bod by měl být dostupný na každém hostname, kde jsou Klienti, kteří používají autorizaci založenou na cookies.

Doména cookie klienta. Pokud není specifikováno, použije se výchozí doména cookie aplikace.

authorize_uri

URL koncového bodu autorizace OAuth. Užitečné při přihlašování z jiného než výchozího doménového jména.

login_uri

URL preferované přihlašovací stránky. Užitečné při přihlašování z jiného než výchozího doménového jména.

authorize_anonymous_users

Boolean hodnota specifikující, zda autorizovat požadavky s anonymními uživateli.

anonymous_cid

ID přihlašovacích údajů, které se používá pro autentizaci anonymních relací.

session_expiration

Vypršení relace klienta. Hodnota může být buď počet sekund, nebo řetězec časové jednotky, jako je 4 h nebo 3 d.