Как восстановиться после Spring Social ExpiredAuthorizationException

Я пытаюсь реализовать Google Oauth2 с помощью Spring Social и spring-social-google. Первоначальная аутентификация работает нормально. Однако через некоторое время срок действия аутентификации истекает, и меня поражает

org.springframework.social.ExpiredAuthorizationException: The authorization has expired.

Как вы можете восстановиться после этого исключения? Можно ли как-то обновить авторизацию?


person Kees de Kooter    schedule 03.05.2013    source источник


Ответы (1)


Попробуйте отправить дополнительный access_type=offline параметр при авторизации. Это может выглядеть примерно так:

<form ...>
    .....
    <input type="hidden" name="access_type" value="offline"/>
</form>

Обычно в этом случае авторизация обновляется автоматически. Дополнительные сведения см. в этой записи.

person Maksym Demidas    schedule 03.05.2013
comment
Я отправляю этот параметр в социальный контроллер spring. Вероятно, этот контроллер не передает его в Google. - person Kees de Kooter; 03.05.2013
comment
Этот запрос на включение поддерживает это предположение: github.com/GabiAxel/spring-social-google. /тянуть/23 - person Kees de Kooter; 03.05.2013
comment
Я разветвил spring-social-google, включив запрос на вытягивание. Теперь я могу обновить соединение! Принимаю ответ, потому что он поставил меня на правильный путь. - person Kees de Kooter; 04.05.2013
comment
Странный. Я уверен, что это работало у меня из коробки в моем предыдущем проекте (я имею в виду, что этот дополнительный параметр был отправлен с самого начала, и у нас не было никаких проблем со сроком действия). К сожалению, сейчас у меня нет доступа к кодовой базе, чтобы проверить это. Кис, рад узнать, что теперь это работает для тебя. - person Maksym Demidas; 06.05.2013