Ток OAuth 2.0 и время жизни

Я пытаюсь понять OAuth 2.0 (ПОТОК СЕРВЕРА). Давайте рассмотрим простой пример API контактов Google.

В соответствии со спецификациями я зарегистрировал свое приложение с Google и получил идентификатор клиента и клиент. Также я упомянул URL обратного вызова.

Получение токена доступа требует от меня выполнения

  • Перенаправить пользователя на определенный URL с требуемыми строками и заголовками запросов, как указано в документе OAuth на сайте Google (https://accounts.google.com/o/oauth2/auth bla bla stuff)

  • После того, как пользователь вводит свои учетные данные, они отправляются обратно на URL обратного вызова, как указано в моем APP, который я уже зарегистрировал в Google. здесь добавляется параметр querystring & code = 4/P7q7W91a-oMsCeLvIaQm6bTrgtp6 bla bla для обратного URL. Таким образом, теперь у вас есть код авторизации

  • Теперь я отправляю запрос https://accounts.google.com/o/oauth2/token с кодом авторизации, который я получил на предыдущем шаге, чтобы получить токен доступа и обновить токен.

Как только у меня есть этот "токен доступа", я могу получить доступ (скажем, интерфейс API и получить пользовательские контакты)

Все в порядке до этого момента. Я также понимаю, что токены доступа имеют ограниченный срок службы, и мы можем получить новый токен доступа, используя "токен обновления".

A. Как разработчик, не несет ли я ответственность за сохранение и проверку правильности "токена доступа"?

В. Если мой веб-сайт является общедоступным веб-сайтом с учетной записью "Войти в Google/FB/Twitter", как я знаю, что его тот же пользователь, который вернулся на сайт через 2 дня, и мне не нужно его запрашивать для входа, вместо этого пользователь должен автоматически регистрироваться на сайте? cauz я не хочу, чтобы он прошел процесс авторизации, поскольку они уже дали разрешение на мое приложение.

E.G: Я зашел на сайт TechCrunch, используя свой логин FB и могу комментировать статьи. Теперь даже после 1 недели, если я навещаю TechCrunch, мне больше не нужно входить в систему. как они знают, что его я и я уже прошли проверку подлинности?

+17
источник поделиться
1 ответ
  • При использовании OAuth 2.0 вы получаете токен доступа, срок действия которого истекает вместе с ним. Либо вы можете отслеживать, когда он истечет, либо вы можете продолжать использовать его, пока не получите ошибку INVALID_TOKEN. Затем вам нужно будет вызвать службу токена обновления, чтобы получить новый токен доступа. Ваш токен обновления хорош, пока не будет отменен.

  • Это OpenID, а не OAuth. Поток похож, но предназначен для входа пользователя в вашу службу. OAuth - это получение пользовательских данных из другой учетной записи.

+14
источник

Посмотрите другие вопросы по меткам или Задайте вопрос