<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>