Uživatelské nástroje

Nástroje pro tento web


navody:vps:api

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Následující verzeObě strany příští revize
navody:vps:api [2019/05/17 14:02] Aithernavody:vps:api [2024/01/02 18:20] – Aktualizace autentizace 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://api.vpsfree.cz/v5.0/.+parametrů je k vidění na https://api.vpsfree.cz/v6.0/.
  
 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://github.com/vpsfreecz/haveapi/tree/master/clients/js   * JavaScript - https://github.com/vpsfreecz/haveapi/tree/master/clients/js
   * Go - https://github.com/vpsfreecz/haveapi/tree/master/clients/go   * Go - https://github.com/vpsfreecz/haveapi/tree/master/clients/go
-  * Webové rozhraní z HaveAPI - https://github.com/vpsfreecz/haveapi-webui +  * Webové rozhraní z HaveAPI - https://github.com/vpsfreecz/haveapi-webui (zastaralé) 
-  * Souborový systém založený na FUSE - https://github.com/vpsfreecz/haveapi-fs+  * Souborový systém založený na FUSE - https://github.com/vpsfreecz/haveapi-fs (zastaralé)
  
 Ukázka použití je vždy v ''README.md'' každého klienta. Obecně se klientovi Ukázka použití je vždy v ''README.md'' každého klienta. Obecně se klientovi
Řá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ě, 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 +  * [[#http_basic|HTTP Basic]] 
-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://api.vpsfree.cz/v6.0/#auth|dokumentaci API]]. 
 + 
 +==== HTTP Basic ==== 
 +S každým požadavkem na API se musí zaslat jméno a heslo v HTTP hlavičče "Authorization"
 +Je to dobrá volba pro jednorázové akcepokud 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. HTTP basic 
 +nelze použít, pokud máte aktivované dvoufaktorové ověřování. 
 + 
 +==== Tokeny ==== 
 +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 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, si volí klient. Typ tokenu a časový interval, o který se prodlužuje, si volí klient.
  
-===== CLI ===== +===== Instalace klienta ===== 
-[[https://github.com/vpsfreecz/vpsfree-client|Klient pro Ruby]] obsahuje CLI. +[[https://github.com/vpsfreecz/vpsfree-client|Klient pro Ruby]] obsahuje CLI 
-Pro správnou funkci vyžaduje Ruby >= 2.a nainstalované hlavičkové soubory+(rozhraní pro příkazovou řádku) a knihovnu pro použití v Ruby skriptech
 +Pro správnou funkci vyžaduje Ruby >= 2.a nainstalované hlavičkové soubory
 Ruby, OpenSSL a ncurses (většinou balíčky s příponou ''-dev'' či ''-devel''). Ruby, OpenSSL a ncurses (většinou balíčky s příponou ''-dev'' či ''-devel'').
- +Poté klienta nainstalujeme pomocí Ruby gems:
-<note> +
-Na OS X je nutné nainstalovat OpenSSL přes [[http://brew.sh/|Homebrew]] a až +
-poté se dá nainstalovat EventMachine (gem, jenž klient vyžaduje).+
  
 <code bash> <code bash>
-$ brew install openssl +gem install vpsfree-client
-$ sudo gem install eventmachine -- --with-opt-include="/usr/local/opt/openssl/"+
 </code> </code>
-</note> 
- 
-Nainstalovat jej lze pomocí ruby gems: 
- 
-<code bash> 
-$ sudo gem install vpsfree-client 
-</code> 
- 
-<note> 
-gem vypíše PATH pod kterým lze najít nainstalovaný balíček 
-<code bash> 
-WARNING:  You don\'t have /home/user/.gem/ruby/2.5.0/bin in your PATH, 
-   gem executables will not run. 
- 
-</code> 
-</note> 
- 
-==== Instalace ve Windows 10 využitím Ubuntu Linux subsystem ==== 
- 
-=== Instalace Ubuntu (Linux subsystemu Windows 10) === 
- 
-  - ve Windows 10 povolit developer mode, nechat nainstalovat 
-  - přes Programy a funkce otevřít přidání součástí Windows, úplně dole zvolit Linux subsystem, nechat nainstalovat a restartovat počítač 
-  - po restartu jako admin spustit v nabídce Start bash 
-  - vytvořit Unix username a heslo 
-  - stisknout y a nechat nainstalovat základ Ubuntu 
- 
-=== Instalace závislostí === 
- 
-<code bash> 
-sudo apt-get install ruby2.1 ruby2.1-dev libssl-dev make g++ 
-</code> 
- 
-=== Quick & Dirty fix pro nastavení ruby2.1 jako výchozího namísto 1.9 === 
- 
-<code bash> 
-sudo rm /usr/bin/ruby /usr/bin/gem /usr/bin/irb /usr/bin/rdoc /usr/bin/erb 
-sudo ln -s /usr/bin/ruby2.1 /usr/bin/ruby 
-sudo ln -s /usr/bin/gem2.1 /usr/bin/gem 
-sudo ln -s /usr/bin/irb2.1 /usr/bin/irb 
-sudo ln -s /usr/bin/rdoc2.1 /usr/bin/rdoc 
-sudo ln -s /usr/bin/erb2.1 /usr/bin/erb 
-sudo gem update --system 
-sudo gem pristine --all 
-</code> 
- 
-Zdroj: http://blog.costan.us/2014/04/restoring-ruby-20-on-ubuntu-1404.html 
- 
-=== Instalace vpsfree-client === 
- 
-<code bash> 
-sudo gem install vpsfree-client 
-</code> 
- 
  
-----+Konkrétní postupy instalace podle platformy:
  
 +  * Linux
 +    * [[navody:vps:api:arch|Arch Linux]]
 +    * [[navody:vps:api:centos|CentOS]]
 +    * [[navody:vps:api:ubuntu|Ubuntu 20.04]]
 +  * [[navody:vps:api:macos|macOS]]
 +  * [[navody:vps:api:windows|Windows]]
  
 Po instalaci by v ''$PATH'' měl být k dispozici ''vpsfreectl''. Pokud tomu tak Po instalaci by v ''$PATH'' měl být k dispozici ''vpsfreectl''. Pokud tomu tak
Řádek 139: Řádek 97:
  
 <code bash> <code bash>
-$ PATH="$PATH:/home/user/.gem/ruby/2.0.0/bin"+$ PATH="$PATH:/home/user/.gem/ruby/2.7.0/bin"
 </code> </code>
  
-==== Použití ====+===== Použití CLI =====
  
 <code> <code>
navody/vps/api.txt · Poslední úprava: 2024/01/02 21:06 autor: aither