Использовать авторизацию клиента facebook iOS на своем сервере
Я использую facebook SSO в своем приложении iOS, и это работает хорошо.
Теперь я хотел бы использовать эту информацию - пользователь проверяется на facebook с его uid - на моем сервере. Но как я могу - безопасно - передать эту информацию на сервер?
Я предполагаю, что мне нужно будет отправить uid и, возможно, authToken, который я получил от facebook на моем сервере? Может ли кто-нибудь изложить общий подход к этому?
Несмотря на то, что это не имеет большого значения для моего вопроса, мой сервер работает с рельсами и разрабатывает для аутентификации. У меня также есть логин facebook, работающий там отдельно, но я хочу использовать уже выполненную аутентификацию от клиента на сервере. Смешение...
Ответы
Ответ 1
Я столкнулся с этим, который помог мне понять проблему и решение.
Исправьте меня, если вы видите какие-либо проблемы.
Идея состоит в том, чтобы передать токен аутентификации в приложение rails. Маркер аутентификации работает только в том случае, если оба приложения используют один и тот же секрет приложения.
Итак, поток выглядит так:
- аутентификация iOS. Возьмите токен пользователя Facebook и отправьте в приложение rails.
- Приложение Rails принимает токен auth, отправляет его на graph.facebook.com/?auth_token=XXX. Ответ должен быть json-объектом пользователя.
- Возьмите ответ объекта пользователя, чтобы найти UID и сопоставить его с пользователем в вашей базе данных. Если UID не существует, создайте нового пользователя и установите новый UID.