Я пишу приложение для iPhone, которому нужен серверный компонент, и вместо того, чтобы заставлять пользователя создавать новую учетную запись только для моего приложения, я решил облегчить им жизнь, если бы он вошел в систему со своей учетной записью Facebook , Я не планирую использовать API Connect Facebook очень сильно, я просто решил, что никто не хочет запоминать дополнительный пароль, если он не обязан.
Проблема в том, что я не совсем понимаю, как правильно выполнять аутентификацию на стороне сервера. Вот как я это делаю сейчас:
1) Клиентское приложение iphone вызывает UIWebView с указанием https://graph.facebook.com/oauth/authorize??client_id=<my_client_id>&redirect_uri=<my_redirect_uri>&...
2) Пользователь входит в Facebook.
3) UIWebView перенаправляется на мой сервер с маркером доступа OAuth в качестве параметра. Я перехватываю это в клиентском приложении iphone и выполняю запрос как NSURLRequest для захвата ответа моего сервера.
4) Мой сервер получает этот запрос, скрывает токен OAuth, использует его для получения идентификатора пользователя в Facebook, скрывает его и отправляет обратно в клиентское приложение iphone идентификатор пользователя Facebook и случайно сгенерированный пароль.
5) С этого момента клиентское приложение iphone взаимодействует только с моим сервером по протоколу HTTPS (больше никогда с Facebook), используя в качестве учетных данных users_facebook_id / randomly_generated_password.
У меня два вопроса.
1) Такое ощущение, что у меня нет правильного решения здесь. Существует ли стандартный, передовой метод для такого рода вещей? (т. е. использовать учетные данные Facebook для входа на свой сервер с вашего собственного клиента iPhone) Может кто-нибудь связать меня с объяснением или учебником?
2) Я видел facebook ios sdk , и это выглядит намного проще, чем то, что я делаю сейчас. Может ли это сделать то, что мне нужно здесь?
Спасибо за помощь!