Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

OpenID Connect — autentizace nad OAuth 2.0

08. 02. 2023 Aktualizováno: 27. 03. 2026 1 min čtení intermediate
Tento článek byl publikován v roce 2023. Některé informace mohou být zastaralé.

OAuth 2.0 řeší autorizaci — kdo smí přistupovat k jakým zdrojům. OIDC (OpenID Connect) přidává autentizaci — kdo je uživatel. Výsledkem je ID Token s informacemi o uživateli ve formátu JWT. OIDC je dnes standard pro Single Sign-On — podporují ho Google, Microsoft, Apple, Okta, Keycloak a desítky dalších providerů. Pro moderní webové a mobilní aplikace je to doporučený způsob autentizace.

ID Token

{
  "iss": "https://auth.example.com",
  "sub": "user-123",
  "aud": "myapp",
  "exp": 1706000000,
  "email": "[email protected]",
  "name": "Jan Novak"
}

ID Token je JWT podepsaný providerem. Obsahuje informace o uživateli (claims) — kdo token vydal (iss), pro koho (aud), kdy vyprší (exp) a identifikátor uživatele (sub). Aplikace musí validovat podpis pomocí JWKS klíčů providera, ověřit iss, aud, exp a nonce (ochrana proti replay útokům).

Discovery

# GET https://auth.example.com/.well-known/openid-configuration
{
  "issuer": "https://auth.example.com",
  "authorization_endpoint": "https://auth.example.com/authorize",
  "token_endpoint": "https://auth.example.com/token",
  "jwks_uri": "https://auth.example.com/.well-known/jwks.json"
}

Discovery endpoint umožňuje klientům automaticky zjistit všechny endpointy a parametry providera. Díky tomu stačí zadat jednu URL (issuer) a knihovna si zbytek nakonfiguruje sama. Tím se eliminují chyby z ruční konfigurace a usnadňuje migrace mezi providery.

FastAPI implementace

from authlib.integrations.starlette_client import OAuth

oauth = OAuth()
oauth.register(
    name='google',
    server_metadata_url='https://accounts.google.com/.well-known/openid-configuration',
    client_id='your-id',
    client_secret='your-secret',
    client_kwargs={'scope': 'openid email profile'}
)

Většina frameworků má OIDC knihovny, které automatizují celý flow — redirect na provider, výměna authorization code za tokeny, validace ID Tokenu. Pro enterprise aplikace zvažte vlastní Keycloak nebo Zitadel jako identity provider s plnou kontrolou nad uživatelskými daty.

Klíčový takeaway

OIDC = OAuth 2.0 + identita. Vždy validujte ID Token (iss, aud, exp, nonce). Používejte discovery endpoint pro automatickou konfiguraci. Pro nové projekty OIDC/OAuth 2.0 namísto vlastní autentizace.

securityoidcoauthautentizace
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.