2013-05-16 2 views
5

Согласно https://groups.google.com/forum/#!forum/oauth2-dev обсуждение сейчас.Google OAuth2 Refresh_token истекает, когда Access_token делает

Независимо от того, сколько я читаю, я не могу понять, как работают токены google OAuth2. Чтение документов и многих других мест предполагает, что refresh_token не истекает и используется после истечения срока действия access_token. См. Официальные документы: https://developers.google.com/accounts/docs/OAuth2WebServer#refresh

Однако на практике, как представляется, Paul описывает (Unable to refresh token after expiration), что токен обновления истекает, когда истекает токен доступа.

Можете ли Google Engineer подтвердить правильность поведения, поскольку это похоже на то, что поведение и документация не соответствуют друг другу.

Он также делает токен обновления бесполезным.

ответ

7

Если вы запросите access_type=offline при первоначальном запросе https://accounts.google.com/o/oauth2/auth, то вы вернете токен обновления вместе с токеном доступа. This is documented here.

Ток обновления не истекает, пока пользователь явно не аннулирует доступ к нему с страницы Account -> Security -> "Connected applications and sites".

Другое сообщение, которое вы связали, похоже, связано с SoundCloud, которое, по-видимому, делает вещи немного по-другому.

+1

Спасибо Дин. После некоторого расследования с использованием игровой площадки Google Oauth2 я могу подтвердить, что refresh_tokens действительны после истечения срока действия токена доступа и могут использоваться независимо от состояния токена доступа. (Некоторые предположили, что это не сработает до истечения срока действия access_token). . Моя трудность, похоже, ускользала от refresh_token в библиотеке, которую я использовал, а затем еще раз экранировалась библиотекой при отображении токена. Используя игровую площадку OAuth2, я понял, что мои жетоны выглядели не так, как у них были дополнительные escape-символы. –

+0

Я не могу получить токен обновления даже с access_type = offline :( http://stackoverflow.com/questions/27678496/google-oauth- access-token-expiration-in-mvc-app – monstro

+0

- это способ, которым мы можем проверить, отменен ли токен доступа к обновлению или нет, прежде чем использовать его.? – usama

Смежные вопросы