2013-07-25 12 views
5

Ich verwende GAE Remote API, um auf den Datenspeicher meiner App zuzugreifen. Die Authentifizierung für GAE erfolgt über remote_api_stub.ConfigureRemoteApi mit einer Authentifizierungsfunktion, die einen Benutzernamen und ein Kennwort zurückgibt.Google App Engine Remote-API + OAuth

Gibt es eine Möglichkeit zur Authentifizierung mit einem access_token, zum Beispiel OAuth oder OAuth 2.0?

+0

ConfigureRemoteApi hat einen rtok-Parameter. Könnte das das OAuth-Token verwenden? Ich habe es nicht versucht. – jacob

+0

'rtok' ist nur für Lookups von app_id. (aus dem 'ConfigureRemoteApi'-Docstring) > rtok: Das Validierungstoken, das mit den Lookups von app_id gesendet wird. Wenn Kein, wird ein zufälliges Token verwendet. und in dem folgenden Code können Sie sehen: ' wenn nicht app_id: app_id = GetRemoteAppIdFromServer (Server, Pfad, rtok) ' Es scheint nur für die Überprüfung sinnvoll zu sein, wenn die gegebene app_id auf App existiert Engine, nicht für die eigentliche Authentifizierung für remote_api_shell – Bodhi

Antwort

3

Es gibt eine Lösung für Google-Konten, die für die Verwendung der Bestätigung in zwei Schritten konfiguriert sind.

Im Moment sind Sie wahrscheinlich ein „BadAuthentication InvalidSecondFactor“ Fehler geworfen zu sehen, wie Sie richtig von der Shell nicht in der Lage sind einzuloggen.

Um dies zu lösen, wird eine App Password müssen, dass die autorisiert App Ihr ​​Konto Ressourcen, um das Tutorial folgen und das generierte Passwort und den Benutzernamen ein Admin der Ziel App Engine App als die Anmeldeinformationen für Remote API verwenden

UPDATE:..

Zusätzlich können Sie nehmen ein Schau dir die remote_api_stub.py Datei von der A an ppEngine SDK. Sie werden eine Familie von Methoden finden genannt _ConfigureRemoteApiWith * (man beachte den Unterstrich), wie zum Beispiel:

  • _ConfigureRemoteApiWithKeyFile
  • _ConfigureRemoteApiWithComputeEngineCredential
  • _ConfigureRemoteApiWithOAuthCredentials

Methoden selbst gut dokumentiert sind, nehmen Sie bitte ein Blick auf ihre Docstrings. Sie lassen Sie mit sichereren Methoden authentifizieren als mit dem üblichen ASP von remote_api_stub.ConfigureRemoteApi().

+0

Danke, aber das beantwortet meine Frage nicht. Meine Frage bezieht sich auf die Authentifizierung, ohne ein Passwort zu verwenden und stattdessen ein OAUTH-Token zu verwenden. – Tzach

+0

@Tzach konnten Sie OAuth 2.0 jemals mit GAE arbeiten. Ich bin daran interessiert, etwas Ähnliches zu tun. – mba12

+0

@ mba12 Ich aktualisierte meine Antwort für weitere Informationen. – cjlallana

0

Sie können OAuth2 nicht zum Herstellen einer Verbindung zu Ihrer App mit remote_api_stub/shell verwenden. Diese Option ist nicht verfügbar.