2012-05-01 15 views
6

Sto realizzando un'app e ho intenzione di far funzionare un po 'di cloud con esso, ma non voglio creare un database di utenti e gli utenti devono ricordare nome utente e password.Convalida utente molto semplice

Dato che verrà distribuito tramite l'app store di Chrome, in pratica è garantito che l'utente disponga di un account Google. Tutto quello che voglio fare è:

  1. Ottenere l'email dell'utente attraverso il materiale dell'account google. Se riesco a farcela, beh, allora la loro e-mail è tutta l'autenticazione di cui ho bisogno per ottenere i dati di quell'utente.

  2. Se finisco per mettere l'applicazione su qualcosa di diverso dal browser Chrome, farò in modo che l'utente usi la sua e-mail per richiedere un link di convalida, e poi invierò loro un codice di convalida per quell'account, inserisci il codice di convalida nell'applicazione, lo prende come utente verificato, in modo che sia sicuro e facile.

EDIT: Sto esaminando questo. Finora ho:

OAuth 2 Google API

Ma ho un problema che non so cosa impostato come le mie origini JavaScript nella API di Google e non c'è troppa informazione su questo articolo all'estero. Se qualcuno può dirmi che origini javascript ho bisogno di impostare per un'estensione di Chrome per accedere a Google API sarebbe un grande aiuto.

PS: Grazie per il voto negativo, questo è il motivo per cui mi piace ricorrere allo stack exchange.

risposta

2

Hmmm, penso che l'unica ragione per cui questo sia stato votato al ribasso è il fatto che questa domanda potrebbe essere stata già posta in qualche punto del sito (ma ti aiuterò e darò un 1up).

Quindi, cosa si desidera utilizzare l'OpenID di Google. Dovrai registrare la tua applicazione con Google in modo che possano fornire token OAuth2 per la tua applicazione. Non l'ho fatto con Google ma con altri servizi ed è abbastanza semplice, basta cercare in giro.

In termini di ottenimento di OAuth2 per l'applicazione nell'estensione di Chrome, questo può essere un problema poiché l'estensione è in modalità sandbox e l'esempio di Google utilizza OAuth non OAuth2.

Ecco soluzione che ho ospite su GitHub per questo - Io uso anche questo nella mia estensione GitHub Repositories:

https://github.com/jjNford/oauth2-chrome-extension

Spero che questo aiuti in qualche modo. Non scoraggiarti con StackOverflow, è una grande risorsa con molti grandi contributori.

Buona fortuna!

0

Ho dovuto votare anche io mentre sto rintracciando un problema correlato, quindi ecco quello che ho trovato che può aiutare.

Secondo queste istruzioni - http://code.google.com/p/google-api-javascript-client/wiki/Authentication - "Nella casella" Origini JavaScript autorizzate ", immettere il protocollo e il dominio per il sito." Questo dovrebbe essere il protocollo (http: // o https: //) seguito da qualsiasi sottodominio opzionale seguito dal tuo nome di dominio e nessuna barra finale. Niente dopo il nome di dominio.

Questo impedisce determinati tipi di attacchi di sicurezza, vedere: http://en.wikipedia.org/wiki/Same_origin_policy.

Ci sono alcune domande correlate qui che ho trovato che possono aiutare: Problems with Google Picker API and selecting Google Drive items e google apis console 'Javascript origins'.

Ora, con tutto ciò che detto, sto ancora cercando di rintracciare quali valori inserire per uno dei miei siti ospitato come un sito di Google, in quanto nessuno dei valori ovvi sta funzionando per me. Quindi potrebbe esserci qualche sottigliezza che mi è sfuggita in questa spiegazione.

Problemi correlati