OAuth - привязка локального пользователя к третьей стороне - PullRequest
1 голос
/ 19 сентября 2011

Я работаю над мобильным приложением, в котором пользователь может перейти к авторизации в Facebook, Twitter или Foursquare (через OAuth), а не создавать новую учетную запись и пароль.

Проблема в том, что я не уверен, что мне следует хранить в моей БД для указания сторонней учетной записи. auth_token, полученный от процесса OAuth, кажется, истекает или изменяется в некоторых ситуациях (например, когда пользователь меняет пароль). Так что это не очень хороший вариант.

Каким будет долгосрочный вариант? Я имею в виду, что даже если пользователь неавторизовал мое приложение, а затем авторизовал его обратно, я хотел бы иметь возможность узнать соответствующего ему локального пользователя. Должен ли я использовать соответствующие API каждого веб-сайта, найти user_id и сохранить его? Я полагаю, что это будет согласовано между сессиями.

Есть предложения?

Спасибо.

1 Ответ

0 голосов
/ 20 сентября 2011

Когда вы получаете авторизацию с сайтов, вам нужно только сохранить access_token (и обновить токен, если OAuth 2.0).В OAuth 2.0 access_token время от времени истекает, и вам нужно будет использовать refresh_token, чтобы получить новый access_token.Пользователь, изменяющий пароль, не изменит токен, но у него будет возможность отозвать токен в любое время.

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

...