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