Мне нелегко ломать голову над обязанностями и возможностями популярных камкордеров Doorkeeper и Devise. Я не слишком опытен в авторизации и аутентификации, поэтому простите меня, если я неправильно понял некоторые аспекты этих областей. Я очень стараюсь, и если я что-то делаю, я хочу сделать это правильно, так вот моя текущая ситуация:
Я хочу создать приложение-рельсы API-интерфейса, которое отвечает за аутентификацию и авторизацию пользователей при их регистрации и использовании службы. Я выбрал два довольно популярных драгоценных камня под названием Doorkeeper (авторизация) и Devise (аутентификация).
В настоящее время у меня есть эта структура, и она работает, однако у меня возникают проблемы, полностью отстающие от обязанностей этих драгоценных камней. Насколько я понимаю, камень Devise служит в качестве уровня аутентификации, что означает, что пользователь может быть идентифицирован и зарегистрирован (дополнительные функции будут обсуждаться ниже). С другой стороны, Doorkeeper обеспечит доступ к ресурсам только тем членам, которые уполномочены делать это. Я выбрал Doorkeeper для интеграции OAuth2, потому что мой сервер должен иметь возможность предоставлять доступ к API потенциальным третьим сторонам в будущем.
Мой вопрос в первую очередь заключается в том, верны ли мои предположения об этих драгоценных камнях.
Вот текущий поток аутентификации/авторизации:
Проблема. Пользователь регистрируется, как я могу использовать Devise для отправки электронного письма с подтверждением, если мой API лишен предварительно сконфигурированных представлений, предоставленных Devise? (Боковое примечание. Черты Recoverable, Rememberable, Trackable и Confirmable находятся в модели пользователя/миграции.)
Аналогично, мне бы хотелось знать, как реализовать потенциальный пароль reset. Обратите внимание, что ссылки на примеры будут достаточными, если они применимы к моему прецеденту.
Я знаю, что Devise предлагает эти возможности, но трудно понять, как это сделать, не нажимая заранее настроенные маршруты (view?).
Например, когда пользователь подписывается, он нажимает мой собственный метод user_controller
create, который в основном просто создает нового пользователя, который должен автоматически отправлять подтверждение по электронной почте (если мы предположим, что моя почтовая конфигурация верна)
Я не совсем уверен, что избегать заранее сконфигурированных маршрутов имеет большой смысл, поэтому я хотел бы услышать от более опытных людей, которые, возможно, использовали эти драгоценные камни в прошлом, если мое мышление верное или я полностью от этого.