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 [2019/06/07 09:24] – lebaux | navody:vps:api [2026/05/28 12:15] (aktuální) – domogled | ||
|---|---|---|---|
| Řá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 37: | Řádek 37: | ||
| [[https:// | [[https:// | ||
| - | ===== Autentizace ===== | + | **poznámka** Pokud API vpsfree vrací http kód 500, ujistěte se, že váš REST klient posílá http hlavičku `User-Agent: |
| - | Lze využívat dvě autentizační metody. Tou první a jednodušší z nich je HTTP | + | |
| - | basic. S každým požadavkem na API se musí zaslat jméno | + | |
| - | volba pro jednorázové akce, pokud je ale potřeba API volat vícekrát nebo | + | |
| - | automatizovaně, ukládání hesla na disk či neustálé opisování není dobrý nápad. | + | |
| - | Druhou metodou je autentizace přes tokeny. Funguje to tak, že klient nejprve | ||
| - | požádá o vytvoření tokenu, k tomu potřebuje jméno, heslo a připadně i TOTP. | ||
| - | Jakmile klient dostane token, může jméno a heslo zapomenout a dále se autentizuje | ||
| - | získaným tokenem. | ||
| - | Tokeny mohou být několika typů s různě dlouhou životností: | ||
| - | * fixed - platnost tokenu je pevně dána | + | ===== Autentizace ===== |
| - | * renewable_manual - platnost tokenu lze manuálně prodloužit | + | API podporuje dva způsoby autentizace: |
| - | * 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 | + | |
| - | Typ tokenu a časový interval, o který se prodlužuje, | + | * [[# |
| + | * [[# | ||
| - | ===== CLI ===== | + | Konkrétní ukázky autentizace pro podporované programovací jazyky a CLI najdete |
| - | [[https://github.com/vpsfreecz/vpsfree-client|Klient pro Ruby]] obsahuje i CLI. | + | v [[https://api.vpsfree.cz/v6.0/#auth|dokumentaci API]]. |
| - | Pro správnou funkci vyžaduje Ruby >= 2.0 a nainstalované hlavičkové soubory | + | |
| - | Ruby, OpenSSL a ncurses (většinou balíčky s příponou '' | + | |
| - | ==== Linux ==== | + | ==== HTTP Basic ==== |
| - | Instalace CLI na Linux distribucích založených | + | S každým požadavkem |
| + | 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í. | ||
| - | <code bash> | + | ==== Tokeny ==== |
| - | sudo pacman -Syu # | + | Klient nejprve požádá o vytvoření tokenu, k tomu potřebuje jméno, heslo a připadně i TOTP. |
| - | sudo pacman -S rubygems # | + | Jakmile klient dostane token, může jméno a heslo zapomenout a dále se autentizuje |
| - | PATH=" | + | získaným tokenem. |
| - | gem install vpsfree-client # | + | |
| - | vpsfreectl #funkčnost otestujeme spuštěním CLI | + | |
| - | </ | + | |
| - | Výše uvedené příkazy nefungují na distribucích založených na Debian/ | + | Tokeny mohou být několika typů s různě dlouhou |
| - | ==== macOS ==== | + | * //fixed// - platnost tokenu je pevně dána |
| + | * // | ||
| + | * // | ||
| + | * // | ||
| - | Na OS X je nutné nainstalovat OpenSSL přes [[http:// | + | Typ tokenu |
| - | poté se dá nainstalovat EventMachine (gem, jenž klient | + | |
| - | <code bash> | + | ===== Scopes ===== |
| - | $ brew install openssl | + | U autentizačních tokenů si můžeme zvolit, jaké akce bude token mít k dispozici. |
| - | $ sudo gem install eventmachine -- --with-opt-include=" | + | 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. | ||
| - | Nainstalovat jej lze pomocí ruby gems: | + | Ukázky možných scopes: |
| - | <code bash> | + | * '' |
| - | $ sudo gem install vpsfree-client | + | * 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 (''#'' |
| - | gem vypíše PATH pod kterým lze najít nainstalovaný balíček | + | |
| - | <code bash> | + | |
| - | WARNING: You don\'t have /home/user/.gem/ | + | |
| - | gem executables will not run. | + | |
| - | </ | + | ===== Instalace klienta ===== |
| - | </ | + | [[https:// |
| - | + | (rozhraní pro příkazovou řádku) | |
| - | ==== Windows | + | Pro správnou funkci vyžaduje Ruby >= 2.7, nainstalované hlavičkové soubory |
| - | Instalace ve Windows 10 využitím Ubuntu Linux subsystem: | + | Ruby a ncurses (většinou balíčky s příponou '' |
| - | + | Poté klienta nainstalujeme pomocí Ruby gems: | |
| - | | + | |
| - | | + | |
| - | - po restartu jako admin spustit | + | |
| - | - vytvořit Unix username a heslo | + | |
| - | | + | |
| - | + | ||
| - | === Instalace závislostí === | + | |
| <code bash> | <code bash> | ||
| - | sudo apt-get | + | gem install |
| </ | </ | ||
| - | === Quick & Dirty fix pro nastavení ruby2.1 jako výchozího namísto 1.9 === | + | Konkrétní postupy instalace podle platformy: |
| - | + | ||
| - | <code bash> | + | |
| - | sudo rm / | + | |
| - | sudo ln -s / | + | |
| - | sudo ln -s / | + | |
| - | sudo ln -s / | + | |
| - | sudo ln -s / | + | |
| - | sudo ln -s / | + | |
| - | sudo gem update --system | + | |
| - | sudo gem pristine --all | + | |
| - | </ | + | |
| - | + | ||
| - | Zdroj: http:// | + | |
| - | + | ||
| - | === Instalace vpsfree-client === | + | |
| - | + | ||
| - | <code bash> | + | |
| - | sudo gem install vpsfree-client | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | ---- | + | |
| + | * Linux | ||
| + | * [[navody: | ||
| + | * [[navody: | ||
| + | * [[navody: | ||
| + | * [[navody: | ||
| + | * [[navody: | ||
| Po instalaci by v '' | Po instalaci by v '' | ||
| Řádek 151: | Řádek 119: | ||
| <code bash> | <code bash> | ||
| - | $ PATH=" | + | $ PATH=" |
| </ | </ | ||
| - | ==== Použití CLI ==== | + | ===== Použití CLI ===== |
| < | < | ||
| Řádek 309: | Řádek 277: | ||
| --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 353: | Řádek 322: | ||
| 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 ==== | ||