У нас є веб-сайт, де єдиним способом входу та автентифікації на цьому сайті є Facebook (це не був мій вибір). Коли ви вперше входите в систему через Facebook, для вас автоматично створюється обліковий запис.
Тепер ми хочемо створити програму iPhone для нашого веб-сайту, а також загальнодоступний API для інших, щоб користуватися нашою послугою.
Це питання стосується способу автентифікації на нашому веб-сайті з програми / API і розбито на 2 частини:
- Яким є правильний спосіб обробки автентифікації REST з API на веб-сайт, який використовує лише Facebook OAuth як метод автентифікації?
Я багато читав і досліджував про стандартні методи автентифікації для REST API. Ми не можемо використовувати такі методи, як Basic Auth. Через HTTPS , оскільки для користувача не існує облікових даних. Що - щось на зразок цього , здається, тільки для перевірки справжності додатків з використанням API.
Наразі найкращий спосіб, на який я можу думати, - це натиснення на кінцеву точку / авторизацію нашого API, вона переспрямовує на Facebook OAuth, потім перенаправляє назад на сайт і надає `` маркер '', який користувач API може використовувати для подальшої автентифікації запитів.
- Для офіційного додатка, який ми створюємо, нам не обов'язково потрібно використовувати загальнодоступний API таким же чином. Що було б найкращим способом поговорити з нашим веб-сайтом та автентифікувати користувачів?
Я розумію (я думаю), як автентифікувати сторонні програми, які використовують наш API, використовуючи API (відкриті) ключі та секретні (приватні) ключі. Однак, коли справа доходить до автентифікації користувача, який використовує додаток, я досить заплутаний щодо того, як це зробити, коли єдиним способом, яким ми маємо автентифікувати користувача, є Facebook.
Я відчуваю, що мені не вистачає чогось дуже очевидного або я не до кінця розумію, як повинні працювати загальнодоступні API REST, тому будь-яка порада та допомога будуть вдячні.