2013-05-03 18 views
5

Sto cercando di utilizzare gmail smtp utilizzando oauth 2.0. Ho usato aspose.dll per richiedere il token di accesso utilizzando l'URL di autorizzazione. Non ricevo il token di aggiornamento quando ottengo la risposta. Quindi non c'è modo di richiedere un nuovo token di accesso se il precedente è scaduto. Quindi ho pensato di ottenere un token di accesso ogni volta che la mia app richiede. E se il codice di autorizzazione è scaduto, non posso seguire questo approccio.il codice di autorizzazione per oauth2 scade sempre

il codice di autorizzazione per oauth2 di gmail non scade mai ??

risposta

7

OAuth 2.0 di Google fornisce token di aggiornamento !!! Questo link qui spiega i vari flussi e parla delle app che ottengono sia l'accesso sia un token di aggiornamento facoltativo per tutti gli scenari.

Codice di autorizzazione SCADENZA! Questo è ciò che impone il protocollo OAuth. Non riesco a trovare un periodo di tempo esatto per quotare qui per Google, ma so che per Facebook), il codice di autorizzazione scade tra 10 minuti (vedi la modifica del 5 dicembre nel link.).
Il token di aggiornamento è stato reso disponibile per casi d'uso come il tuo. Se il codice di autorizzazione dovesse persistere, quale differenza rimarrebbe tra un token di aggiornamento e il codice di autorizzazione.

Suggerisco di cercare la documentazione delle librerie Aspose che si stanno utilizzando.

PS - I token di accesso/i token di accesso/i token di aggiornamento sono tutti emessi da un server centrale di autorizzazione di Google! Quindi, stiamo parlando del codice di autorizzazione di Google che, come ho detto, scade.

Buona fortuna!

EDIT - Aggiunta di ulteriori informazioni per voi

 The authorization code generated by the 
    authorization server. The authorization code MUST expire 
    shortly after it is issued to mitigate the risk of leaks. A 
    maximum authorization code lifetime of 10 minutes is 
    RECOMMENDED. The client MUST NOT use the authorization code 
    more than once. If an authorization code is used more than 
    once, the authorization server MUST deny the request and SHOULD 
    revoke (when possible) all tokens previously issued based on 
    that authorization code. The authorization code is bound to 
    the client identifier and redirection URI. 

Fonte - http://tools.ietf.org/html/draft-ietf-oauth-v2-31
Sezione - 4.1.2

+0

grazie, sai qualsiasi libreria .NET che arriverà per io sia l'accesso che il token segreto. –

+0

Non ho paura. Ma Google fornisce la propria API dotnet per OAuth, perché non la usi. http://code.google.com/p/google-api-dotnet-client/wiki/OAuth2 Questo link contiene anche alcuni esempi, potresti passare attraverso di loro – divyanshm

+0

ma non hanno menzionato nulla su come ottenere l'accesso e aggiornare il token entrambi. –