Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
navody:vps:api [2022/01/26 10:17] – Postupy instalace rozděleny do podstránek Aither | navody:vps:api [2025/03/24 20:40] (aktuální) – [Dokumentace API] Opraven link na dokumentaci API aither | ||
---|---|---|---|
Řádek 8: | Řádek 8: | ||
===== Dokumentace API ===== | ===== Dokumentace API ===== | ||
Dokumentace API, tzn. seznam zdrojů, možných akcí, vstupních a výstupních | Dokumentace API, tzn. seznam zdrojů, možných akcí, vstupních a výstupních | ||
- | parametrů je k vidění na https:// | + | parametrů je k vidění na https:// |
Bez přihlášení se zobrazuje seznam všech zdrojů, tj. i těch, se kterými můžou | Bez přihlášení se zobrazuje seznam všech zdrojů, tj. i těch, se kterými můžou | ||
Řádek 26: | Řádek 26: | ||
* JavaScript - https:// | * JavaScript - https:// | ||
* Go - https:// | * Go - https:// | ||
- | * Webové rozhraní z HaveAPI - https:// | + | * Webové rozhraní z HaveAPI - https:// |
- | * Souborový systém založený na FUSE - https:// | + | * Souborový systém založený na FUSE - https:// |
Ukázka použití je vždy v '' | Ukázka použití je vždy v '' | ||
Řádek 38: | Řádek 38: | ||
===== Autentizace ===== | ===== Autentizace ===== | ||
- | Lze využívat dvě autentizační metody. Tou první a jednodušší z nich je HTTP | + | API podporuje dva způsoby autentizace: |
- | basic. S každým požadavkem na API se musí zaslat jméno a heslo. Je to dobrá | + | |
- | volba pro jednorázové akce, pokud je ale potřeba API volat vícekrát nebo | + | |
- | automatizovaně, | + | |
- | Druhou metodou je autentizace přes tokeny. | + | * [[# |
- | požádá o vytvoření tokenu, k tomu potřebuje jméno, heslo a připadně i TOTP. | + | * [[#tokeny|Pomocí tokenů]] |
+ | |||
+ | Konkrétní ukázky autentizace pro podporované programovací jazyky a CLI najdete | ||
+ | v [[https:// | ||
+ | |||
+ | ==== HTTP Basic ==== | ||
+ | S každým požadavkem na API se musí zaslat jméno a heslo v HTTP hlavičce " | ||
+ | Je to dobrá volba pro jednorázové akce, pokud je ale potřeba API volat vícekrát nebo | ||
+ | automatizovaně, | ||
+ | nelze použít, pokud máte aktivované dvoufaktorové ověřování. | ||
+ | |||
+ | ==== Tokeny ==== | ||
+ | Klient nejprve | ||
Jakmile klient dostane token, může jméno a heslo zapomenout a dále se autentizuje | Jakmile klient dostane token, může jméno a heslo zapomenout a dále se autentizuje | ||
získaným tokenem. | získaným tokenem. | ||
Řádek 50: | Řádek 59: | ||
Tokeny mohou být několika typů s různě dlouhou životností: | Tokeny mohou být několika typů s různě dlouhou životností: | ||
- | * fixed - platnost tokenu je pevně dána | + | * //fixed// - platnost tokenu je pevně dána |
- | * renewable_manual - platnost tokenu lze manuálně prodloužit | + | * //renewable_manual// - platnost tokenu lze manuálně prodloužit |
- | * renewable_auto - platnost tokenu je prodloužena při každém požadavku | + | * //renewable_auto// - platnost tokenu je prodloužena při každém požadavku |
- | * permament - token je platný napořád, resp. dokud není smazán | + | * //permament// - token je platný napořád, resp. dokud není smazán |
Typ tokenu a časový interval, o který se prodlužuje, | Typ tokenu a časový interval, o který se prodlužuje, | ||
+ | |||
+ | ===== Scopes ===== | ||
+ | U autentizačních tokenů si můžeme zvolit, jaké akce bude token mít k dispozici. | ||
+ | To se může hodit u tokenů s dlouhou nebo permanentní platností. Každá akce | ||
+ | má svůj //scope//, jehož název najdeme v dokumentaci. Dostupné scope se nastavuje, | ||
+ | když žádáme o nový token, tj. zasílá se společně s přihlašovacími údaji. | ||
+ | |||
+ | Ukázky možných scopes: | ||
+ | |||
+ | * '' | ||
+ | * prázdný scope, přístup je povolen jen k akci '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Scope může obsahovat globy pro název resource a akce. Akce je od resource oddělena křížkem (''#'' | ||
===== Instalace klienta ===== | ===== Instalace klienta ===== | ||
[[https:// | [[https:// | ||
(rozhraní pro příkazovou řádku) a knihovnu pro použití v Ruby skriptech. | (rozhraní pro příkazovou řádku) a knihovnu pro použití v Ruby skriptech. | ||
- | Pro správnou funkci vyžaduje Ruby >= 2.7 a nainstalované hlavičkové soubory | + | Pro správnou funkci vyžaduje Ruby >= 2.7, nainstalované hlavičkové soubory |
- | Ruby, OpenSSL | + | Ruby a ncurses (většinou balíčky s příponou '' |
Poté klienta nainstalujeme pomocí Ruby gems: | Poté klienta nainstalujeme pomocí Ruby gems: | ||
Řádek 246: | Řádek 273: | ||
--user USER User name | --user USER User name | ||
--password PASSWORD | --password PASSWORD | ||
+ | --scope [SCOPE] | ||
--token TOKEN Token | --token TOKEN Token | ||
--token-lifetime LIFETIME | --token-lifetime LIFETIME | ||
Řádek 290: | Řádek 318: | ||
přístupem k '' | přístupem k '' | ||
</ | </ | ||
+ | |||
+ | Při vytváření tokenu můžeme specifikovat scope: | ||
+ | <code bash> | ||
+ | $ vpsfreectl --auth token --scope ' | ||
+ | </ | ||
+ | |||
+ | Příkaz výše vytvoří autentizační token, který bude omezen na volání akcí nad resource '' | ||
==== Akce a parametry ==== | ==== Akce a parametry ==== |