2016-07-15 50 views
1

Ich baue eine API für meine Rails App. Über diese API werde ich Benutzer anmelden und ihnen ermöglichen, mit ihren Daten zu interagieren.Wie erlaube ich meiner eigenen App nur auf meine API zuzugreifen

Zusätzlich zur Benutzerauthentifizierung möchte ich auch sicherstellen, dass nur meine iOS-App Zugriff auf die API und eventuell meine eigene Webanwendung hat.

Ich möchte sicherstellen, dass niemand sonst die API verwendet. Daher möchte ich zusätzlich zur Benutzerauthentifizierung meine API mit einem Token für jede meiner Apps schützen.

Wie lösen Sie normalerweise dieses Problem? Müsste ich dieses Token bei jedem Anruf weitergeben, um zu bestätigen, dass der Anruf von einem gültigen Client kommt, und um festzustellen, welcher Client es ist (Web vs. iOS).

Ich werde alle Hinweise zu schätzen wissen oder wenn Sie einen Artikel kennen, der erklärt, wie man damit umgeht.

+0

check out [jtw] (https://jwt.io/introduction/) –

+0

danke @JigneshAgola, Ich verwende jwt, um einen Benutzer zu authentifizieren. Wahrscheinlich bin ich nur verwirrend Konzepte, aber was ich möchte oben Authentifizierung Benutzer tun, ist nur meine App autorisieren, um Anfragen an die API zu machen, und verhindert, dass jemand anderes eine App gegen meine API zu bauen. –

Antwort

0

Da Sie jwt's bereits verwenden, um Ihren Benutzer zu authentifizieren, verwenden Sie einfach die Funktionalität von jwt, um zusätzliche Informationen in das Token einzufügen, in diesem Fall eine Art Hash-String, den Sie serverseitig überprüfen können, wenn dieser gültig ist "Kunden ID". Bei jeder Anfrage können Sie die Zeichenfolge aktualisieren.

Art der doppelten Authentifizierung in jeder Anfrage. der Benutzer und der Kunde.

+0

Ich mag diese Idee @ Stewart –