Ich versuche, herauszufinden, wie die folgenden Authentifizierungsablauf zu implementieren:RESTful API in Google App Engine Sicherung
- Der Benutzer greift auf eine Web-Anwendung (höchstwahrscheinlich geschrieben on Rails Ruby verwenden) und authentisiert (zB Benutzername/Passwort).
- Der Client verwendet Daten über AJAX, die von einer RESTful-API bereitgestellt werden, die auf Google App Engine (Python, webapp2) basiert.
Anforderungen:
- Nur in der Web-Anwendung authentifiziert Benutzer (Rails) sollten die API auf App Engine gehostet zugreifen können.
- Benutzer können unterschiedliche Rollen in der Webanwendung (Rails) haben und die API (App Engine) muss wissen, welche Rollen mit dem angegebenen Benutzer verknüpft sind, um den Zugriff auf bestimmte Daten zu beschränken.
- Der Client sollte in der Lage sein, die API (App Engine) direkt über AJAX aufzurufen, ohne alle Anfragen über die Webanwendung (Rails) weiterleiten zu müssen.
Ich bin auf der Suche nach Vorschlägen zur Implementierung eines solchen Workflow. Soll ich OAuth (oder OAuth2) für den Zugriff auf die API verwenden? Sollte der OAuth-Provider in App Engine leben und die Webanwendung (Rails) das API für einen Token im Namen des Benutzers fragen? Wenn ja, wie kann man nur die Webanwendung (Rails) OAuth-Token anfordern? Oder sollte ich eine völlig andere Strategie in Betracht ziehen?
Alle Vorschläge werden sehr geschätzt. Ich suche auch nach Vorschlägen von Bibliotheken, um OAuth im obigen Kontext zu implementieren.