Ho un'applicazione PHP che si basa ampiamente sulle sessioni. Stiamo valutando la possibilità di creare un'API per i nostri utenti. I nostri pensieri iniziali sono che gli utenti dovranno autenticarsi contro l'API con il loro indirizzo email, password e una chiave API (unica per ogni utente).Autenticazione e sessioni API PHP
Tuttavia, poiché l'applicazione corrente (inclusi i modelli) si basa ampiamente sulle sessioni utente, non sono sicuro dell'approccio migliore.
Partendo dal presupposto che una richiesta API è correttamente autenticato, sarebbe accettabile:
- avvia la sessione per la chiamata API volta che l'utente è autenticato
- Run modelli e tornare JSON/XML per l'utente
- terminare la sessione
Ciò significa che la sessione viene creata un'istanza per ogni chiamata API, e poi subito arrossì. Va bene? O dovremmo considerare altre alternative?
Si è corretto, l'API deve essere stateless e non utilizzare sessioni/cookie se possibile. Ma ciò può essere fatto facilmente, nessun problema. Dovresti riutilizzare un framework di autenticazione esistente, tuttavia, perché è davvero complesso. Ad esempio, dai un'occhiata a https://github.com/delight-im/PHP-Auth che è sia agnostico che indipendente dal database. Quindi inviare le credenziali con ogni richiesta e sul server (1) accedere, (2) eseguire il lavoro effettivo e infine (3) disconnettersi nuovamente. – caw