2009-07-09 7 views

risposta

9

Vedi my blog post su come l'autenticazione con un app App Engine utilizzando le credenziali memorizzate nel telefono.

È possibile autenticare gli utenti a livello di programmazione. Nell'SDK Python, lo appengine_rpc module esegue questa funzione. In poche parole, la procedura è questa:

  1. Usa ClientLogin per ottenere un token di autenticazione uno-uso nome utente e la password dell'utente.
  2. effettua una richiesta POST a yourapp.appspot.com/_ah/login~~V~~singular~~3rd, con gli argomenti continuano = http://localhost/&auth=authtoken (dove authtoken è il segno di un uso che hai dal punto 1).
  3. Intercetta la risposta 302 restituita e acquisisce il cookie Google restituito.
  4. Fornire il cookie su tutte le richieste successive.

Per dettagli strazianti, vedere la fonte di appengine_rpc.py, collegata in alto.

+0

dolce! grazie mille nick. – ehfeng

+0

Sono nuovo di Android .. e con un rapido sguardo .. questo dovrebbe comunque fare il trucco dopo 2 anni .. giusto ?! – Lipis

2

A partire da Android 2.0, è possibile utilizzare AccountManager per richiedere un token di autenticazione per account di tipo com.google. È quindi possibile autenticare l'utente a un'applicazione App Engine colpendo l'url:

http://[yourapp].appspot.com/_ah/login?auth=[theauthtoken]

I cookie impostati nella risposta può essere trasportata sulle spalle su future richieste per la vostra applicazione per autenticare l'utente contro la vostra app.

In assenza di codice di esempio che fa esattamente questo, è possibile controllare il codice Sample Sync Adapter (in bundle con l'SDK) per un'idea generale sulla richiesta di token di autenticazione.


EDIT: appena realizzato Nick ha scritto sulla seconda parte, ma il bit AccountManager#getAuthToken è nuovo a partire da Android 2.0.

Problemi correlati