<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Ahoj,<div><br></div><div>super napad. Akurat mam malu vyhradu voci autentifikacii, moderne RESTful APIs sa dnes vacsinou robia stateless s pouzitim tokenu, ktory sa zasiela vramci Authentication headeru. S tym ze okrem temporary tokenu je aj moznost zisat long-term token (bez expiracie), alebo este lepsie short-term token spolu s refresh tokenom (refresh token bezpecne ulozim, komunikujem so short term tokenom a ked vyprsi, tak pomocou refresh tokenu urobim reissue). V podstate na podobnom principe pracuje OAuth 2.0, ale na nieco taketo je z mojich skusenosti jednoduchsie nakodit nieco vlastne nez implementovat cely OAuth (pokial samozrejme nepouzijem hotovu libku :) ). </div><div><br></div><div>Vyhoda takehoto API je, ze sa potom k tomu daju napisat mobilne appky, do ktorych sa prihlasis raz a oni si token ulozia do device DB.</div><div><br></div><div>Jano</div><div><br><div><div>On 20 May 2014, at 19:01, Jakub Skokan <<a href="mailto:jakub.skokan@havefun.cz">jakub.skokan@havefun.cz</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<div text="#000000" bgcolor="#FFFFFF">
Zdravím,<br>
<br>
na adrese <a class="moz-txt-link-freetext" href="https://api.vpsfree.cz/">https://api.vpsfree.cz</a> je k
dispozici vývojová verze vpsAdmin API. Je to ve stavu, kdy to
funguje, ale není to doladěné a nemá to všechny funkce.<br>
<br>
Při vývoji vzniknul framework HaveAPI [1], který naše API využívá.
Jedná se o framework na tvorbu sebepopisujících se RESTful API.<br>
<br>
Sebepopisující se API odpovídá na HTTP metodu OPTIONS a vrací JSON
obsahující seznam dostupných verzí API, objektů, akcí, jejich
vstupních/výstupních parametrů, popis, validaci, ukázku použítí,
apod. Díky této vlastnosti lze vytvořit klienta, který dokáže
komunikovat s jakýmkoli API, které je postavené nad HaveAPI. Změny v
API se okamžitě projeví ve všech klientech, atd.<br>
<br>
Dokumentace API:<br>
- Automaticky generovaná frameworkem na <a class="moz-txt-link-freetext" href="https://api.vpsfree.cz/">https://api.vpsfree.cz</a><br>
<br>
Co to zatím umí:<br>
- Vytvoření a smazání playground VPS,<br>
- seznam vlastních VPS, start, stop, restart, změna hesla,
přeinstalace,<br>
- výpis konfigurace VPS,<br>
- seznam IP adres VPS,<br>
- seznam dostupných dstribucí (nutné k vytvoření VPS).<br>
<br>
Připravení klienti:<br>
- CLI a klient v Ruby (>= 2.0) [2], který také existuje v
obecné formě (pro jakékoliv API, rozdíl je pouze ve jménu a výchozí
URL) [3],<br>
- PHP klient [4] a jeho obecná forma [5].<br>
<br>
Návody na instalaci a použití jednotlivých klientů jsou na
přiložených odkazech.<br>
<br>
Aktivita je vítána. Hodilo by se, kdyby se našlo pár lidí, co by
udělali klienta ve svém oblíbeném jazyce. Nejvíc by se nám hodil
alespoň proof-of-concept v JS, abychom si ověřili, že je možné
udělat UI kompletně v HTML5 & JS, já už na to aktuálně nemám
čas.<br>
<br>
Pokud nenarazíme na nějaké větší problémy, aplikační logika
vpsAdminu se bude postupně přesouvat z webového rozhraní do tohoto
API. Současně se z vpsAdminu pomalu bude stávat nezávislý projekt na
vpsFree.cz, aby jeho použití nebylo limitováno naším sdružením a šel
nasadit i jinde.<br>
<br>
Do budoucna se počítá s tím, že přes API půjde hýbat s parametry VPS
a člen si bude moci rozdělit přidělené prostředky mezi více VPS jak
se mu zlíbí (v rozumných mantinelech).<br>
<br>
Rozhodli jsme se to spustit a oznámit co nejdříve, i když
nekompletní, aby se koncept otestoval v praxi. Budu rád za
jakoukoliv zpětnou vazbu, nápady či připomínky.<br>
<br>
[1]
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<a class="moz-txt-link-freetext" href="https://github.com/vpsfreecz/haveapi">https://github.com/vpsfreecz/haveapi</a><br>
<br>
[2] <a class="moz-txt-link-freetext" href="https://github.com/vpsfreecz/vpsfree-client">https://github.com/vpsfreecz/vpsfree-client</a><br>
<br>
[3] <a class="moz-txt-link-freetext" href="https://github.com/vpsfreecz/haveapi-client">https://github.com/vpsfreecz/haveapi-client</a><br>
<br>
[4]
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<a class="moz-txt-link-freetext" href="https://github.com/vpsfreecz/haveapi-client-php/tree/vpsfree">https://github.com/vpsfreecz/haveapi-client-php/tree/vpsfree</a><br>
<br>
[5] <a class="moz-txt-link-freetext" href="https://github.com/vpsfreecz/haveapi-client-php">https://github.com/vpsfreecz/haveapi-client-php</a><br>
<pre class="moz-signature" cols="72">--
S pozdravem
Jakub Skokan</pre>
</div>
_______________________________________________<br>News-list mailing list<br><a href="mailto:News-list@lists.vpsfree.cz">News-list@lists.vpsfree.cz</a><br>http://lists.vpsfree.cz/listinfo/news-list<br></blockquote></div><br></div></body></html>