2016-06-21 35 views
6

Ich möchte diskutieren, was der beste Weg ist, um Ihre APIs zu sichern, um von einer mobilen Anwendung verwendet zu werden.Laravel RESTful API-Authentifizierung für mobile App

Da es keine Drittanbieter gibt, denke ich, dass OAuth keine gute Wahl ist?
Wäre JWT eine gute Wahl?

Der schwierige Teil für mich zu verstehen ist, wie kann ich authentifizieren, so dass ich die Daten in meinen APIs schützen kann, es sei denn, jemand ist berechtigt, sie anzurufen.

Ich benutze Laravel 5.1 in Serverseite und die mobile Anwendung, die ich die APIs nennen möchte, ist ein Android.

Ich hoffe, dass ich nicht vergessen habe, alle wichtigen Informationen zu erwähnen. Jede Art von Hilfe wird geschätzt.

+0

Standardauthentifizierung ist wahrscheinlich der einfachste Weg, um Ihre API zu sichern. –

+1

Danke für die Antwort. Lohnt es sich zu implementieren? Ich meine in Bezug auf Qualität, da es der einfachste Weg ist. – csdinos

+0

@csdinos jetzt habe ich dieselbe Frage. Ich denke, JWT ist nicht so gut für mobile Anwendungen, da Token nach einer Stunde automatisch vom Server ungültig gemacht werden und der Benutzer sich immer wieder anmelden sollte, es ist ok für Web-Anwendungen, aber in Android ist es keine gute Idee, Login-Seite mehr als einmal anzuzeigen! Ich denke, dass nur ein Login-Prozess für mobile Apps ausreicht! Was denken Sie? hast du jwt zum authentifizieren von benutzer in deiner android app verwendet? –

Antwort

0

Werfen Sie einen Blick auf JSON Web Token Authentication for Laravel & Lumen

Es bietet Sicherheit und Schutz für Daten und Routen.

+1

Ja, ich bin schon auf diese eine gestolpert. Die Idee ist, denjenigen, der die API über Token aufruft, zu authentifizieren, oder? Zwei Fragen, die ich habe: 1) Sollten die Daten ein Teil des Token sein oder nur für die Authentifizierung verwenden? 2) In der API-Aufruf, wo Sie tatsächlich die Authentifizierung und übergeben Sie das Token an den "Anrufer", sichern Sie es einfach (Benutzername, Passwort) über HTTPS oder etwas? – csdinos

+1

'JWT wird sowohl zur Authentifizierung als auch zum Datenschutz verwendet. werfen Sie einen Blick auf https: // stormpath.com/blog/jwt-the-right-way' –

1

Verwenden OAuth2

Betrachten OAuth 2 mit Client-Credentials Grant.

Sie können ein Zugriffstoken mit den Anmeldeinformationen Ihres Kunden anfordern.

Verwenden OAuth 2 Server Laravel:

einen Autorisierungs-Server mit dem Client-Credentials Implementierung GRANT Luca Paket:

+0

Vielen Dank für Ihre Antwort. Ich habe eine Frage. Da die ** Anmeldeinformationen des Benutzers ** nicht auf der Android-Seite gespeichert werden sollten, was ist die beste ** Lebensdauer ** des Zugriffstokens? – csdinos

+0

@csdinos Ich denke, dass das Ihren Anforderungen entspricht. Ist es OK, dass die App jeden Tag nach einem Token fragt? Es gibt keine guten Inhalte zu diesem Thema. Ich habe APIs wie folgt gesehen: http://docs.apigee.com/api-services/content/oauth-20-client-credentials-grant-type#configuringflowsandpolicies-configuretheflowwithhapolicy mit 40 Tagen Lebensdauer. –