O TOPlist.cz logo
  • Blog 
  • Jak začít? 
  • Kontakt 
  • Nápověda 
  • TOPlist Profi 
  •    Změnit vzhled
    •   Světlý
    •   Tmavý
    •   Auto
  •  
    •   Světlý
    •   Tmavý
    •   Auto
Napoveda
    • Jak začít?
    • FAQ - Často kladené otázky
      • Statistiky
      • Metodika měření
      • Osobní údaje
      • REST API
      • Registrace
      • Vytvoření nového reportu
      • Měřené statistiky
      • Přidání nového webu
      • Redakční systémy
      • Jak si nastavit měřící kód TOPlistu do Google Tag Manageru
    • Nastavení hesla
    • Tipy a triky
    • Jak začít?
    • FAQ - Často kladené otázky
      • Statistiky
      • Metodika měření
      • Osobní údaje
      • REST API
      • Registrace
      • Vytvoření nového reportu
      • Měřené statistiky
      • Přidání nového webu
      • Redakční systémy
      • Jak si nastavit měřící kód TOPlistu do Google Tag Manageru
    • Nastavení hesla
    • Tipy a triky
  1. Úvod
  2. Nápověda
  3. Dokumentace
  4. REST API - autentifikace

REST API - autentifikace

Sdílet přes
O TOPlist.cz
Odkaz zkopírováno do schránky

Na této stránce
 

  • Vytvoření přístupového klíče
  • Získání přístupového tokenu
  • Použití tokenu

Pro autorizace do API probíhá ve dvou krocích. Nejprve je potřeba, pomocí přístupového klíče, získat přístupový token a poté ho použít pro autorizaci v dalších požadavcích.

Vytvoření přístupového klíče  

Přístupový klíč je dvojice privátního a veřejného klíče. Vygenerujete je například pomocí nástroje openssll:

openssl ecparam -name prime256v1 -genkey -noout -out private.pem
openssl ec -in private.pem  -pubout > public.pem

Tím vzniknou dva soubory private.pem a public.pem. První obsahuje privátní klíč, který je potřeba uchovávat v bezpečí.

Druhý obsahuje veřejný klíč, který je potřeba přidat do nastavení uživatele v TOPlist Profi:

API veřejný klíč

Získání přístupového tokenu  

K získání přístupového tokenu je potřeba poslat požadavek na adresu https://profi.toplist.cz/api/v1/login Autentifikace probíhá pomocí HTTP hlavičky Authorization. Hlavička musí obsahovat JWT podepsaný privátním klíčem. Příklad volání v Pythonu:

import jwt
import requests
import time

privateKey = open('private.pem').read()
jwtPayload = jwt.encode({
    'sub': 'user@example.com',
    'aud': 'batch',
    'iss': '0123456-789a-bcde-f012-3456789abcd',
    'nbf': int(time.time()),
    'exp': int(time.time()) + 5*60,
    'jti': '1234567890'
}, privateKey, algorithm='ES256')

token = requests.post(f"https://media.toplist.cz/api/v1/login",
    headers={
        'Accept':'application/json',
        'Authorization': jwtPayload
    }
).json()['token']

Význam claimů JWT:

  • sub - email uživatele, pro kterého je token vytvořen
  • aud - v tomto případě vždy hodnota ‘batch’
  • iss - identifikátor Provozovatele, který je uveden v nastavení serveru
  • nbf - čas, kdy token začne platit
  • exp - čas, kdy token přestane platit (maximálně 1 hodina)
  • jti - unikátní identifikátor tokenu

Použití tokenu  

Vygenerovaný token je potřeba přidat do hlavičky Authorization pro každý další požadavek jako Bearer token. Tj.: Authorization: Bearer <token>

Last updated: 18. listopadu 2024 • build(deps-dev): bump eslint-plugin-n from 17.13.1 to 17.13.2 (3c100a6)
Na této stránce
  • Vytvoření přístupového klíče
  • Získání přístupového tokenu
  • Použití tokenu
TOPlist
Kontakt | Obchodní podmínky        
© 1997 - 2024, TOPlist s.r.o. Powered by Hinode.
O TOPlist.cz
Kód zkopírováno do schránky