Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

OpenID Connect — autentizace nad OAuth 2.0

01. 01. 2024 1 min čtení intermediate

OAuth řeší autorizaci, OIDC přidává autentizaci — ID Token s informacemi o uživateli.

ID Token

{ “iss”: “https://auth.example.com”, “sub”: “user-123”, “aud”: “myapp”, “exp”: 1706000000, “email”: “jan@example.com”, “name”: “Jan Novák” }

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” }

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’})

Klíčový takeaway

OIDC = OAuth 2.0 + identita. Validujte ID Token (iss, aud, exp, nonce).

securityoidcoauthautentizace