У нас есть веб-сайт, на котором единственный способ войти в систему и пройти аутентификацию на сайте - это Facebook (это был не мой выбор). При первом входе в систему через Facebook для вас автоматически создается учетная запись.
Теперь мы хотим создать приложение для iPhone для нашего сайта, а также публичный API, чтобы другие могли использовать наш сервис.
Этот вопрос о том, как пройти аутентификацию на нашем веб-сайте из приложения / API, разбит на 2 части:
- Как правильно обрабатывать аутентификацию REST от API к веб-сайту, который использует только Facebook OAuth в качестве метода аутентификации?
Я много читал и исследовал стандартные методы аутентификации для REST API. Мы не можем использовать такие методы, как Basic Auth over HTTPS , поскольку учетных данных для пользователя как таковых нет. Что-то вроде этого, похоже, только для аутентификации приложений с помощью API.
В настоящее время, как я могу думать, лучший способ - вы попадаете в конечную точку / authorize в нашем API, он перенаправляет на Facebook OAuth, затем перенаправляет обратно на сайт и предоставляет «токен», который пользователь API может использовать для аутентификации последующих Запросы.
- Для официального приложения, которое мы создаем, нам не обязательно использовать публичный API таким же образом. Каким будет лучший способ общаться с нашим сайтом и аутентифицировать пользователей?
Я понимаю (думаю), как аутентифицировать сторонние приложения, использующие наш API, используя (открытые) ключи API и секретные (закрытые) ключи. Однако когда дело доходит до аутентификации пользователя, использующего приложение, я довольно запутался в том, как это сделать, когда единственный способ аутентифицировать пользователя - это Facebook.
Мне кажется, что мне не хватает чего-то очень очевидного или я не совсем понимаю, как должны работать общедоступные REST API, поэтому любые советы и помощь будут очень благодарны.