2013-07-25 19 views
5

Używam zdalnego interfejsu API GAE, aby uzyskać dostęp do magazynu danych mojej aplikacji. Autoryzacja do GAE odbywa się za pomocą remote_api_stub.ConfigureRemoteApi z funkcją uwierzytelniania, która zwraca nazwę użytkownika i hasło.Zdalny interfejs API aplikacji Google App Engine + OAuth

Czy istnieje sposób uwierzytelniania za pomocą access_token, na przykład OAuth lub OAuth 2.0?

+0

ConfigureRemoteApi ma parametr rtok. Może to jest token OAuth? Nie próbowałem. – jacob

+0

'rtok' jest tylko dla wyszukiwań app_id. (z pliku 'ConfigureRemoteApi' docstring) > rtok: token sprawdzania poprawności do wysłania z wyszukiwaniem app_id. Jeśli brak, używany jest losowy token. w kodzie poniżej, można zobaczyć: ' jeśli nie app_id: APP_ID = GetRemoteAppIdFromServer (serwer, ścieżka, rtok) ' Wydaje się być użyteczne tylko dla sprawdzenia, czy dana APP_ID istnieje na App Silnik, a nie faktyczne uwierzytelnianie dla remote_api_shell – Bodhi

Odpowiedz

3

Istnieje rozwiązanie dla kont Google skonfigurowanych do używania weryfikacji dwuetapowej.

W tej chwili, prawdopodobnie widząc „BadAuthentication InvalidSecondFactor” Błąd wyrzucony, ponieważ nie są w stanie prawidłowo zalogować się z powłoki.

Aby rozwiązać ten problem, trzeba będzie App Password który upoważnia aplikacji na dostęp do zasobów konta Postępuj zgodnie z samouczka i użyć wygenerowane hasło i nazwę użytkownika administratora na docelowym App App Engine jako poświadczenia dla Remote API

UPDATE:..

Dodatkowo można wziąć spójrz na plik remote_api_stub.py od A ppEngine SDK. Znajdziesz rodzinę metod zwanych _ConfigureRemoteApiWith * (uwaga wiodącą podkreślenia), takie jak:

  • _ConfigureRemoteApiWithKeyFile
  • _ConfigureRemoteApiWithComputeEngineCredential
  • _ConfigureRemoteApiWithOAuthCredentials

Metod sami są dobrze udokumentowane, należy wziąć spójrz na ich docstrukcje. Pozwalają na uwierzytelnienie za pomocą bezpieczniejszych metod niż standardowa ASP dostarczana przez remote_api_stub.ConfigureRemoteApi().

+0

Dzięki, ale to nie odpowiada na moje pytanie. Moje pytanie dotyczy uwierzytelniania bez użycia hasła i używania zamiast niego jakiegoś oautha tokena. – Tzach

+0

@ Tzach czy kiedykolwiek byłeś w stanie uzyskać OAuth 2.0 współpracujący z GAE. Jestem zainteresowany zrobieniem czegoś podobnego. – mba12

+0

@ mba12 Zaktualizowałem swoją odpowiedź, aby uzyskać więcej informacji. – cjlallana

0

Nie można używać OAuth2 do łączenia się z aplikacją za pomocą remote_api_stub/shell. Ta opcja nie jest dostępna.