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

OAuth 2.0 — kompletní průvodce flow

01. 01. 2024 1 min čtení intermediate

OAuth 2.0 umožňuje aplikacím přístup k zdrojům uživatele bez sdílení hesla. Google Login, GitHub Login — to je OAuth.

Flows

  • Authorization Code + PKCE: Web a mobile (doporučeno)
  • Client Credentials: Machine-to-machine
  • Device Authorization: TV, IoT
  • Implicit (DEPRECATED): Nepoužívat

Authorization Code + PKCE

import hashlib, base64, secrets code_verifier = secrets.token_urlsafe(64) code_challenge = base64.urlsafe_b64encode( hashlib.sha256(code_verifier.encode()).digest() ).rstrip(b’=’).decode()

Exchange code for tokens

token = requests.post(“https://auth.example.com/token”, data={ “grant_type”: “authorization_code”, “code”: authorization_code, “client_id”: “myapp”, “code_verifier”: code_verifier, }).json()

Client Credentials

token = requests.post(“https://auth.example.com/token”, data={ “grant_type”: “client_credentials”, “client_id”: “service-a”, “client_secret”: “secret”, “scope”: “api.read”, }).json()

Klíčový takeaway

Auth Code + PKCE pro web/mobile, Client Credentials pro M2M. Vždy validujte state, krátká expirace tokenů.

securityoauthautentizaceapi