У нас есть настройка приложения rails, которая использует devise & omniauth, чтобы разрешить вход через аутентификацию facebook. У нас также есть мобильное приложение, которое в настоящее время использует HTTP-аутентификацию для входа в приложение rails либо путем передачи имени пользователя и пароля, либо путем передачи токена аутентификации http. Все это пока отлично работает.
Мобильное приложение также имеет возможность аутентифицироваться с помощью самого facebook и получать токен facebook пользователя непосредственно между собой и facebook.
Я хотел бы восполнить этот пробел, чтобы, если у пользователя есть вошли в систему из мобильного приложения через facebook и имеют свой токен facebook, что позволяет использовать этот токен facebook в качестве аутентификации в приложении rails, как если бы они получили его из facebook через браузер.
Конечным результатом будет то, что мобильное приложение может войти в систему через:
1) имя пользователя / пароль или же 2) токен аутентификации http или же 3) токен omniauth (facebook)
Кроме того, в случае 3), если пользователь еще не существует в приложении rails, потребуется создать пользователя - делая это уже с аутентификацией на стороне браузера, поэтому может больше нечего делать.
Как мне лучше всего добиться этого в конструкции devise?