2012-09-11 18 views
14

Quale sarebbe il "verbo HTTP corretto" da utilizzare durante lo sviluppo di un'API RESTful per gestire le informazioni di accesso? Questa API sarebbe accessibile da vari dispositivi/piattaforme - app per dispositivi mobili, app per desktop desktop, app nativa per desktop, ecc.Verbo http corretto da utilizzare per l'API di login

risposta

6

Suppongo che tramite Login API intendi un modo per autenticare un utente API e qualsiasi chiamata ai tuoi endpoint API .

Probabilmente si potrebbe utilizzare OAuth o l'autenticazione di base per farlo o, diciamo, si dispone di un endpoint API su api\authenticate. Il chiamante avrebbe POST a questo endpoint con userID e password o qualche chiave API. Il servizio restituirebbe quindi un cookie o un token di autenticazione che verrebbe inviato con ogni chiamata ad altri endpoint API. Lo HP Cloud Identity service funziona praticamente allo stesso modo.

+1

Grazie, ma perché POST? È sintatticamente corretto in termini di mapping REST per i verbi HTTP? O deve essere POST puramente per comodità? –

+3

@TashPemhiwa, REST non si riferisce necessariamente ai "mapping" ai verbi HTTP, ma in sostanza afferma che un'interfaccia deve essere uniforme con messaggi auto-descrittivi. RFC 2616 definisce il POST come un metodo per creare risorse subordinate o per inviare blocchi di dati per l'elaborazione (come metodo di uso generale). In questo caso, l'uso del POST sarebbe piuttosto uniforme e generico per l'autenticazione. – tuespetre

+0

se si sta lavorando direttamente con l'autenticazione di base e le password utente, non dimenticare di crittografare in qualche modo i parametri POST sul filo (o semplicemente utilizzare SSL). – shahshi15

Problemi correlati