2013-12-08 6 views
0

У меня есть андроид/Ios Facebook приложение, которое использует SSOполучить короткий токен через Facebook SSO

клиента затем отправить маркер доступа к моему сереру, который делает вызов https://graph.facebook.com/me?access_token= «+ маркер доступ для аутентификации пользователя с моим сервис (сопрягать facebook идентификаторами)

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

Я я ищу токен доступа, который действителен только в том случае, если пользователь зашел в приложение за короткое время после например 1 час. Причина в том, что я думаю о безопасности, Facebook SSO заменил имя пользователя/пароль приложения, но я не вижу хорошего способа аутентификации с моим сервером. Кажется, что SSO для Facebook является хорошим для клиента, очень слабым для сервера. Тогда это должно быть больше для токена доступа. Есть идеи?

ответ

0

Что вам нужно сделать, это revoke the login, когда пользователь выходит из вашего приложения.

EDIT:

От Facebook documentation on access tokens: жетоны

доступа, сгенерированные с помощью веб-входа недолговечны лексемы, но вы можете обновить их до долгоживущих лексем. Преобразование короткоживущих токенов в долгоживущие токены далее рассматривается в этом документе под номером Expiration and Extending Tokens.

Мобильные приложения, использующие мобильные SDK от Facebook, получают долгоживущие токены.

Итак, если вы используете SDK, нет возможности генерировать краткосрочный токен для вашего приложения. Лучшее, что вы можете сделать, это позвонить на ваш сервер, чтобы удалить сохраненный токен доступа, когда пользователь выходит из вашего приложения.

+0

проблема с этим - пользователь должен снова разрешить заявку. Делает плохой пользовательский опыт. Facebook шаг SSO как способ удалить свой собственный auth пользователя, но я не вижу чистого решения на сервере. Кажется, что он предназначен только для клиентской стороны только – user2859250

+0

@ user2859250 См. Мой обновленный ответ. – neilco

+0

спасибо. Facebook SSO является клиентской стороной только тогда, очень слабая и не подходит для замены собственного пользователя/пароля. Настоящий позор, как я знаю, должен иметь два входа в систему! – user2859250

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