Повторное использование токенов доступа OAuth - PullRequest
0 голосов
/ 06 марта 2012

На моем сайте я намерен предложить пользователям возможность аутентификации через OAuth. Я не хочу просить их сначала зарегистрироваться у меня, а затем подключить внешнюю учетную запись; Я хочу предложить единый вход.

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

Google заходит так далеко, что заявляет, что ограничит количество маркеров доступа до 10 на пользователя на приложение . (По-видимому, Google все еще поддерживает OAuth1, но теперь рекомендует Auth2) 10. Это довольно небольшое число.

Использование файлов cookie ( как этот ) кажется хорошим планом для идентификации пользователя между сеансами, но у меня возникла проблема со сценарием, когда пользователь удалил файлы cookie или подключился с нового компьютера.

Как узнать, кто пользователь, прежде чем я запросил для него другой токен доступа? Токены запроса не содержат ИД пользователя, верно?

Спасибо

1 Ответ

0 голосов
/ 06 марта 2012

В любом случае вам придется поддерживать свои собственные учетные записи, независимо от того, какой протокол и какой провайдер вы выберете. Токен (или URL в случае OpenID), который вы получаете от провайдера, является уникальным для данного пользователя, и вы должны связать его со своей внутренней учетной записью и распознать пользователя по ней.

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

...