Як я можу перевірити маркер доступу до аутентифікації Google?
Мені потрібно якось запитати Google і запитати: чи дійсний [заданий маркер доступу] для облікового запису [example@example.com] Google?
Коротка версія :
Зрозуміло, як маркер доступу, що надається через аутентифікацію Google Api :: OAuth Authentication для веб-додатків, може використовуватися для запиту даних із ряду служб Google. Не зрозуміло, як перевірити, чи вказаний маркер доступу дійсний для даного облікового запису Google. Я хотів би знати як.
Довга версія :
я розробляю API, який використовує аутентифікацію на основі лексем. Маркер буде повернутий при наданні дійсного імені користувача + пароля або при наданні стороннього маркера з будь-якої з N перевірених послуг.
Однією із сторонніх служб буде Google, яка дозволяє користувачеві пройти автентифікацію проти моєї служби за допомогою свого облікового запису Google. Пізніше це буде розширено, щоб включати облікові записи Yahoo, надійних постачальників OpenID тощо.
Схематичний приклад доступу на базі Google:
alt текст http://webignition.net/images/figures/auth_figure002.png
Сутність "API" знаходиться під моїм повним контролем. Суб'єктом "загальнодоступний інтерфейс" є будь-який додаток на веб-або настільному ПК. Деякі загальнодоступні інтерфейси знаходяться під моїм контролем, інші не будуть, а інші ще я, можливо, ніколи навіть про це не знаю.
Тому я не можу довіряти маркер, наданий API на кроці 3. Це буде надано разом із відповідною електронною адресою облікового запису Google.
Мені потрібно якось запитати Google і запитати: чи дійсний маркер доступу for example@example.com ?
У цьому випадку example@example.com - це унікальний ідентифікатор облікового запису Google - адреса електронної пошти, яку хтось використовує для входу в свій обліковий запис Google. Це не можна вважати адресою Gmail - хтось може мати обліковий запис Google, не маючи облікового запису Gmail.
У документації Google чітко зазначено, як за допомогою маркера доступу можна отримати дані з ряду служб Google. Здається, ніщо не вказує, як можна перевірити, чи вказаний маркер доступу в першу чергу дійсний.
Оновлення Маркер дійсний для N служб Google. Я не можу спробувати маркер проти служби Google як засобу її перевірки, оскільки я не буду знати, який підмножина всіх служб Google фактично використовує даний користувач.
Крім того, я ніколи не буду використовувати маркер доступу до аутентифікації Google для доступу до будь-яких служб Google, а лише як засіб перевірки передбачуваного користувача Google - це те, про кого вони кажуть. Якщо є інший спосіб зробити це, я радий спробувати.