2016-06-21 84 views
6

Vorrei discutere su quale sia il modo migliore per proteggere le API in modo da poter essere utilizzate da un'applicazione mobile.Autenticazione API RESTful Laravel per app mobile

Dato che non esiste una terza parte, suppongo che OAuth non sia una buona scelta?
JWT sarebbe una buona scelta?

La parte difficile per me è capire come posso autenticare in modo da poter proteggere i dati nelle mie API a meno che qualcuno non sia autorizzato a chiamarli.

Io uso Laravel 5.1 sul lato server e l'applicazione mobile che voglio chiamare API è un androide.

Spero di non aver dimenticato di menzionare qualche informazione importante. Qualsiasi tipo di aiuto sarà apprezzato.

+0

autenticazione di base è probabilmente il modo più semplice per garantire la sua API. –

+1

Grazie per aver risposto. Vale la pena implementarlo? Intendo in termini di qualità poiché è il modo più semplice. – csdinos

+0

@csdinos ora ho la stessa domanda. Penso che jwt non sia così buono per le applicazioni mobili perché i token si invalida automaticamente dal server dopo un'ora e l'utente deve effettuare di nuovo l'accesso, è ok per le applicazioni web ma in Android non è una buona idea mostrare la pagina di login più di una volta! Penso che sia sufficiente un solo processo di login per le app per dispositivi mobili! cosa ne pensi? hai usato jwt per autenticare gli utenti nella tua app Android? –

risposta

0

Date un'occhiata a JSON Web Token Authentication for Laravel & Lumen

Esso fornisce la sicurezza e la protezione dei dati e percorsi.

+1

Sì, mi sono già imbattuto in questo. L'idea è di autenticare colui che chiama l'API attraverso token giusto? Due domande che ho: 1) I dati devono essere parte del token o semplicemente usarlo per l'autenticazione? 2) Nella chiamata API in cui si esegue effettivamente l'autenticazione e si passa il token al "chiamante", è sufficiente proteggerlo (nome utente, password) tramite HTTPS o qualcosa del genere? – csdinos

+1

'JWT viene utilizzato sia per l'autenticazione che per la protezione dei dati. dai un'occhiata a https: // stormpath.com/blog/jwt-the-right-way' –

1

Usa OAuth2

Considerare l'utilizzo di OAuth 2 con credenziali client di sovvenzione.

È possibile richiedere un token di accesso utilizzando le credenziali del cliente.

Usa OAuth 2 Server laravel:

Implementazione di un server di autorizzazione con le credenziali client attribuzione mediante il pacchetto di Luca:

+0

Grazie per la tua risposta. Ho una domanda. Dato che le credenziali dell'utente ** non devono essere memorizzate ** sul lato Android, qual è la migliore ** durata ** del token di accesso? – csdinos

+0

@csdinos Penso che dipenda dalle esigenze della tua applicazione. Va bene per l'app chiedere un token ogni giorno? Non ci sono buoni contenuti riguardo quell'argomento. Ho visto API come questa: http://docs.apigee.com/api-services/content/oauth-20-client-credentials-grant-type#configuringflowsandpolicies-configuretheflowflowhapolicy che utilizzano 40 giorni di durata. –