2012-03-20 2 views
3

У меня есть приложение, отображающее головные узлы для Календаря Google. Приложение - это 100% -ый клиентский javascript, и я хотел бы сохранить его таким образом, но истечение срока действия токена OAuth Google не позволяет мне оставить приложение открытым, где оно продолжает опросить API Google.Срок действия токена Google OAuth

Я ищу информацию от людей о том, как обновить токен или запросить новый токен, будучи полностью прозрачным для пользователя. На данный момент после 3600 секунд приложение должно перепроверить доступ к учетным записям пользователей Google, а полное перенаправление заставляет перерыв в приложении.

Я пробовал несколько других методов, сначала я попытался использовать серверную аутентификацию, которая очень хорошо работает с localStorage, но не удается, когда я пытаюсь выполнить POST для токена доступа после получения токена запроса, я попытался использовать iframe и страницу опубликовать ни работу :(.

Если у кого есть какие-либо идеи о том, как авторизовать и сохранить пользователь authed с Google, пожалуйста, поделитесь :)

+1

Изучите использование токенов обновления. Они долговечны и могут быть использованы для получения новых токенов доступа. Они могут не поддерживаться для веб-приложений на стороне клиента, но эта страница содержит еще несколько обновленных токенов: https://developers.google.com/accounts/docs/OAuth2 – abraham

ответ

0

к сожалению, единственным способом я нашел делать это использует веб-сервер, как есть нет другого способа защитить ваш клиент_секрет. Если это вариант для вас, я имел успех, реализующий метод, описанный в следующей документации Google:

https://developers.google.com/accounts/docs/OAuth2WebServer

По существу я сначала запросить доступ в автономном режиме на стороне клиента, то на успех, торговать полученный код авторизации для обновления токена с помощью моего веб-сервера. Токен обновления можно также сохранить в файле cookie с очень длинным истечением срока действия. Каждый раз, когда мой токен доступа заканчивается, я использую токен обновления для запроса другого токена доступа.

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