2013-05-03 24 views
5

Próbuję użyć gmail smtp przy użyciu oauth 2.0. Użyłem aspose.dll do żądania tokena dostępu za pomocą adresu URL autoryzacji. Nie dostaję tokena odświeżania, gdy otrzymuję odpowiedź. Nie ma możliwości zażądania nowego tokena dostępu, jeśli poprzedni wygasł. Więc myślałem o dostaniu tokena dostępu za każdym razem, gdy moja aplikacja wymaga. A jeśli kod autoryzacji wygasł, to nie mogę zastosować tego podejścia.czy kod autoryzacji dla Gmaila oauth2 nigdy nie wygasa

Czy kod autoryzacji dla Gmaila oauth2 nigdy nie wygasa?

Odpowiedz

7

Google OAuth 2.0 zapewnia odświeżenie tokenów !!! Ten link wyjaśnia tutaj różne przepływy i rozmowy na temat aplikacji uzyskujących zarówno dostęp, jak i opcjonalny token odświeżania dla wszystkich scenariuszy.

Kod autoryzacyjny DOES wygasa! Tak właśnie dyktuje protokół OAuth. Nie mogę znaleźć dokładnego okresu, który można podać tutaj dla Google, ale wiem, że dla Facebook) kod autoryzacji wygasa za 10 minut (Zobacz zmianę 5 grudnia w linku.).
Token odświeżania został udostępniony do użytku w takich przypadkach jak twój. Jeśli kod autoryzacji miałby się utrzymywać, to jaka byłaby różnica między tokenem odświeżania a kodem autoryzacyjnym.

Proponuję przejrzeć dokumentację bibliotek Aspose, których używasz.

PS - Kod autoryzacyjny/tokeny dostępu/odświeżania są wydawane przez centralny serwer autoryzacji Google! Tak więc mówimy o kodzie autoryzacji Google, który, jak już mówiłem, wygasa.

Powodzenia!

EDIT - Dodanie więcej informacji dla Ciebie

 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. 

Source - http://tools.ietf.org/html/draft-ietf-oauth-v2-31
Sekcja - 4.1.2

+0

dzięki, Znasz NET że dostanę ja zarówno dostęp, jak i tajny token. –

+0

Obawiam się, że nie. Ale Google dostarcza własny API dotnet dla OAuth, dlaczego tego nie używasz. http://code.google.com/p/google-api-dotnet-client/wiki/OAuth2 Ten link ma również kilka przykładów, możesz je przejrzeć – divyanshm

+0

, ale nie wspomniały one nigdzie o uzyskiwaniu dostępu i odświeżaniu tokena obie. –