У вас может быть несколько приложений Rails, которые совместно используют одну базу данных и используют Device для аутентификации пользователей.Но вы должны убедиться, что при шифровании паролей используется один и тот же ввод / алгоритм.
Для Devise это был BCrypt по умолчанию в течение достаточно долгого времени, вы также должны убедиться, что настройка config.stretches
соответствует обоим приложениям,Реализация несколько изменилась за прошедшие годы, и ваш пробег может варьироваться.
Ключевой концепцией здесь является то, что вы не проходите аутентификацию в приложении - вы аутентифицируете, что результат шифрования пароля, предоставленногопользователь соответствует дайджесту в базе данных.
Но вы также должны начать с признания того, что приложения могут вообще не иметь одинаковых требований аутентификации.Большинство API (по крайней мере, хороших) используют аутентификацию на основе токенов, которая не имеет состояния.
Одна из основных проблем с аутентификацией на основе сеансов заключается в том, что файлы cookie обычно работают в одном домене или поддоменах и обычно отключаются браузером, если они работают.междоменный (сторонние куки), что означает, что у вас будут проблемы, если ваши API и устаревшее приложение не находятся на одном и том же поддомене.Куки-файлы также являются функцией, доступной только в браузерах, в то время как аутентификация на основе токенов работает в любом клиенте.
И хотя вы можете запросить у нового приложения устаревшее приложение по HTTP, работа с которым может фактически быть пустой тратой временипоскольку новому приложению в любом случае понадобится собственное решение для аутентификации.
Существует несколько гемов, которые обеспечивают аутентификацию на основе токенов для Devise.