-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Ahoj,
On 05/22/2014 10:18 AM, Peter Šufliarsky wrote:
Ahojte,
v poslednej dobre intenzívne využívam jedno REST-ové API, tak
pridávam dva postrehy, o ktorých si myslím, že by mohli byť
zaujímavé.
Súhlasím s tým prihlasovaním. V mojom prípade prihlasovanie riešime
tak, že máme authentication request, v ktorom sa odošlú
prihlasovacie údaje. Po úspešnom prihlásení server vytvorí session
a v hlavičke odpovede odošle okrem iného Set-Cookie SESSIONID=xxx,
kde xxx je nejaký unikátny kľúč. Ten sa potom odosiela v hlavičke
ostatných requestov a server podľa toho overí užívateľa. Platnosť
session ID vyprší po 30 minutách nečinnosti alebo po odoslaní
logout requestu.
To z toho API dela stateful = musim drzet stav na obou stranach, coz
je treba pro uplne simple skripteni zbytecna komplikace.
Operácie typu start/stop/restart a podobne by som riešil takto:
POST /v1/vpses/:vps_id?action=start Je to asi len kozmetická zmena,
ale mne to pripadá byť trochu viac logické. start/stop/restart
nereprezentujú žiadne resources na serveri.
Peťo
2014-05-22 9:48 GMT+02:00 René Klačan <rene.klacan(a)gmail.com
<mailto:rene.klacan@gmail.com>>:
Ahojte,
nebolo jednoduchsie a casovo uspornejsie pouzit uz nejaky
existujuci API framework? Z mojho pohladu by to mohlo usetrit vela
casu. Napriklad
https://github.com/intridea/grape . Ci si myslite,
ze poziadavky su natolko specificke, ze by to podobna kniznica
efektivne nepokryla a bolo by ju nutne az nezmyselne ohybat?
Ale inak skvela praca, velmi pekne napisane a tiez velmi ocenujem,
ze to je v Ruby! Len by som vytkol to, ze tam nevidim testy.
Rene
2014-05-21 22:10 GMT+02:00 Pavel Snajdr <snajpa(a)snajpa.net
<mailto:snajpa@snajpa.net>>:
Ahoj,
posilat porad username+password a nemit rozliseni mezi API
pristupem a UI pristupem je smrt, natoz to chtit nejak potom
auditovat, totalne nemozne - takze to je jedna z veci, co se bude
resit dal, vime o tom.
Neco na ten, jak rikas, je urcite v planu, ono to jenom nejde
delat jako revoluci "vsechno najednou", jelikoz prerodit vpsAdmin
za behu v neco min srackoidniho (zdravim sam sebe o 5 let v
minulosti) to neni task na par tydnu a obzvlast kdyz se to clovek
rozhodne udelat poradne a jeste to chce udelat recyklovatelne.
Proto jsme vymysleli jak co nejvic ty prace ohledne API a tak
automatizovat uz samotnym napsanim toho kodu urcitym stylem, aby
se napsal jenom jednou a nebylo potreba udrzovat 228342934
<tel:228342934> veci okolo jako napr. dokumentace a kvadrilion
ruznych klientu pro triliardu platform :))
Aither prerodil tenhle muj napad v HaveAPI, coz vypada jako uplne
super vec, na kterou jsem celou dobu cekal. Uz nejakou chvili se
zabyvam s ruznymi lidmi automatizaci ruznych low-level procesu
(mluvim o low-level vecech z pohledu provozovatele byznysu online,
tzn. nastaveni OS, runtime jazyka, DB...) a presne nejaka takovahle
moznost jak vybavit uzavrene komplexni prostredi jasne popsanym
strukturovanym rozhrani na praci s nim, to mi presne chybelo.
Proto bych chtel, jestli mate kdo ted cas, fakt na to mrknete,
jestli jste meli potrebu kdy tvorit nejaky APIcka pro neco, tohle
je uplne o necem jinym, je to holt vyzdimana koncentrovana bolest
pri psani API pretavena v lek :))
No a celej duvod, proc jsem se s Aitherem dohodnul, ze to announcne
uz ted, kdyz se uci na statnice, je aby byl prostor na feedback.
Takze kdo jste kdy delal HTTP API pro neco, kouknete na to a dejte
vedet. Dik!
S pozdravem
Pavel Snajdr
+421 948 816 186 <tel:%2B421%20948%20816%20186> | +420 720 107 791
<tel:%2B420%20720%20107%20791> | 110-010-956 CTO of Relbit
| Predseda vpsFree.cz, o.s. | RHCE
http://relbit.com |
http://vpsfree.cz |
https://www.redhat.com
On 05/21/2014 08:20 PM, Ján Raska wrote:
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 <mailto:jakub.skokan@havefun.cz>
<mailto:jakub.skokan@havefun.cz
<mailto:jakub.skokan@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
<mailto:News-list@lists.vpsfree.cz>
> <mailto:News-list@lists.vpsfree.cz
<mailto:News-list@lists.vpsfree.cz>>
_______________________________________________
Community-list
mailing list Community-list(a)lists.vpsfree.cz
<mailto:Community-list@lists.vpsfree.cz>
_______________________________________________ Community-list
mailing list Community-list(a)lists.vpsfree.cz
<mailto:Community-list@lists.vpsfree.cz>
http://lists.vpsfree.cz/listinfo/community-list
_______________________________________________ Community-list
mailing list Community-list(a)lists.vpsfree.cz
<mailto:Community-list@lists.vpsfree.cz>
http://lists.vpsfree.cz/listinfo/community-list
_______________________________________________ Community-list
mailing list Community-list(a)lists.vpsfree.cz
http://lists.vpsfree.cz/listinfo/community-list
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird -
http://www.enigmail.net/
iF4EAREIAAYFAlN9tUwACgkQMBKdi9lkZ6qoLwEAzTr9FsrfsvJzkNbT2LBvIsA9
PuR1FJSk9bZXl//nksIA/j+qBjUeVNI3fajv/YIdtB2CoYrNU+mTVP6m7vRfJIGI
=B+GE
-----END PGP SIGNATURE-----