Аутентификация с привратником после аутентификации в фейсбуке

Как я могу реализовать нормальный поток портье oauth2 после того, как пользователь проходит аутентификацию через Facebook через мое мобильное приложение?

PS Я использую gem doorkeeper для реализации провайдера oauth2 для моего мобильного приложения. Я использую поток учетных данных пароля владельца ресурса для осуществления аутентификации через имя пользователя и пароль пользователя.

Поэтому, если пользователь сначала проходит проверку подлинности через Facebook через мобильное приложение, как мне выполнить проверку подлинности пользователя через привратника с помощью маркера доступа Facebook. Так что в этом случае нет имени пользователя / пароля (который смотритель выдает ошибку пропущенных параметров).

Как правильно реализовать этот поток.

 1. User authenticates from facebook through the mobile app.
 2. Facebook access token is passed to the API server.
 3. If the access token is valid, the api server returns the
    doorkeeper access token.
 4. In case the access token is not valid, the api server returns 401 Unauthorized.

Каков правильный подход для реализации этого потока? Некоторое руководство в правильном направлении очень ценится.

2 ответа

Решение

Это расширение к существующим потокам грантов привратника решает именно эту проблему: https://github.com/doorkeeper-gem/doorkeeper-grants_assertion

Поток утверждений - это обмен между access_token провайдера для токена доступа от вашего oauth-провайдера.

Существует запрос на извлечение для исправления "NoMethodError (неопределенный метод 'resource_owner_from_assertion' для #)":

Измените свой Gemfile:

gem "doorkeeper-grants_assertion", github: "Inittec / doorkeeper-grants_assertion", ветвь: "master"

Другие вопросы по тегам