У меня есть простое решение, которое я сделал со следующими объектами:
- Аккаунт (имеет поле токена, которое возвращается при аутентификации и использования в вызовах API)
- Аутентификация (имеет auth_type/auth_id и ссылку на учетную запись)
У меня есть отдельная Аутентификация, чтобы иметь возможность подключать несколько способов входа (UUID устройства, адрес электронной почты/пароль, твиттер, facebook и т.д.). Но кажется, что во всех примерах Devise вы используете его на модели Пользователь (Аккаунт).
Разве это не так гибко? Например, модуль OmniAuth хранит поставщика и идентификатор в модели Пользователь, что произойдет, если вы хотите, чтобы вы могли войти в систему как из Twitter, так и из Facebook, есть только место для одного провайдера?
Должен ли я использовать Devise для моей модели Account или модели Аутентификация?