Ahoj,
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 :) ).
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.
Jano
On 20 May 2014, at 19:01, Jakub Skokan <jakub.skokan(a)havefun.cz> wrote:
Zdravím,
na adrese
https://api.vpsfree.cz 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.
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.
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.
Dokumentace API:
- Automaticky generovaná frameworkem na
https://api.vpsfree.cz
Co to zatím umí:
- Vytvoření a smazání playground VPS,
- seznam vlastních VPS, start, stop, restart, změna hesla, přeinstalace,
- výpis konfigurace VPS,
- seznam IP adres VPS,
- seznam dostupných dstribucí (nutné k vytvoření VPS).
Připravení klienti:
- 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],
- PHP klient [4] a jeho obecná forma [5].
Návody na instalaci a použití jednotlivých klientů jsou na přiložených odkazech.
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.
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.
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).
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.
[1]
https://github.com/vpsfreecz/haveapi
[2]
https://github.com/vpsfreecz/vpsfree-client
[3]
https://github.com/vpsfreecz/haveapi-client
[4]
https://github.com/vpsfreecz/haveapi-client-php/tree/vpsfree
[5]
https://github.com/vpsfreecz/haveapi-client-php
--
S pozdravem
Jakub Skokan
_______________________________________________
News-list mailing list
News-list(a)lists.vpsfree.cz
http://lists.vpsfree.cz/listinfo/news-list