Я попытаюсь объяснить мою проблему:
Я бы хотел, чтобы пользователи могли подключаться к моему API через свои собственные учетные записи (логин / пароль) или через социальную сеть (сначала Facebook).
Тогда я бы позволил любому приложению использовать мой API с аутентификацией пользователя.
Моя первая мысль, когда авторизировать пользователя через его / ее логин / пароль и вернуть используемый токенкак сеанс для следующих запросов.
Но OAuth может показаться лучшей реализацией, за исключением того, что я не знаю, как это сделать:
- Одно из моих приложений будет иметьподключиться через логин / пароль, как в твиттере (я должен где-нибудь реализовать аутентификацию логин / пароль, если я не хочу, чтобы мой пользователь входил в систему: p)
- Придется ли мне также регистрировать свои приложения в oauthsystem (неужели твиттер добавил свое веб-приложение к своему oauth?)
- Как объединить аутентификацию через другие социальные сети.Конкретно, пользователь должен будет OAuth к моему API, который будет авторизоваться в социальной сети.
Я немного растерялся, как это сделать, если кто-то может мне помочь, я был бы очень признателен!
Спасибо
Обновление 1 : Flickr и Lastfm, похоже, не используют OAuth, а альтернативную систему аутентификации, которая выглядит следующим образом:
- Пользователь перенаправляется на Flickr / Lastfm
- Пользователь сам авторизуется и принимает использование приложения
- Flickr / Lastfm возвращается на URL-адрес обратного вызова с временной лягушкой (для flickr) или токеном (дляlastfm)
- Приложение должно вызвать провайдера с временным frob / token (среди прочего, как api_key и api_sig) и получить взамен токен сеанса, который будет использоваться для следующих вызовов.
Обновление 2 : На самом деле StackApps является конкретным случаем моей проблемы: вы можете войти в систему через их систему логина / пароля или ИЛИ openId, и вы можете использовать их API.