Мы все знаем, что Devise является стандартом де-факто для реализации аутентификации в приложениях на основе rails.
По умолчанию он использует электронную почту в качестве идентификатора, но также позволяет вместо этого использовать имена пользователей. Он также имеет модуль "Подтверждающий", который позволяет подтвердить адрес электронной почты, отправив электронное письмо и щелкнув по ссылке, чтобы подтвердить вашу электронную почту.
Я искал нечто похожее для телефонных номеров - в основном принимал номера телефонов в качестве первичного идентификатора вместо электронных писем, а затем подтверждал номер телефона, отправив код авторизации как SMS-сообщение на номер пользователя через что-то вроде Twilio, а затем пусть пользователь подтвердит это, введя код (или даже позвольте пользователю щелкнуть по сгенерированной ссылке, чтобы проверить, как это происходит с электронной почтой).
Причина, по которой я ожидал, что этот модуль будет популярным модулем разработки, состоял в том, что кажется, что большинство мобильных социальных приложений принимают номера телефонов и подтверждают число в настоящее время. Должен быть кто-то, кто думал, что это проблема, и для этого создан модуль. Однако я не мог найти популярных. Фактически, если быть точным, вот только три релевантные ссылки, которые я нашел по этому поводу:
- https://github.com/giano/devise_sms_activable
- https://github.com/baranov-sv/devise_sms_confirmable
- Rails register Пользователь, используя номер телефона и подтверждение
Ни одно из них не приводит к рабочему решению (я пробовал devise_sms_activable, но он не работает для рельсов 4, плюс я опасаюсь низкого числа звезд). Поэтому я хотел спросить, есть ли жизнеспособное решение для это. Я что-то упускаю? Была ли эта тема поднята среди сообщества разработчиков Devise? Мне интересно это решение, но если его нет, я бы по крайней мере оценил любой ответ на вопрос, почему это не доступно.
[UPDATE]
Я думаю, что этот вопрос, возможно, немного вводил в заблуждение. Хотя я могу просто построить его сам, мне не нравится изобретать колесо. В основном, мое намерение в этом вопросе было:
- Если есть какой-либо пакет, который делает это (например, все модули, такие как confirmable, token_authentcatable и т.д. Возможно, даже модуль Devise не может быть совсем другим)
- Или, если такого предустановленного решения нет, почему его нет. Я просто не могу понять, почему такого решения я не могу найти, когда все, кажется, делают это.
Я с радостью соглашусь, когда получу ответ на # 1 или # 2. Спасибо!