Расширьте FOSUserBundle, чтобы разрешить вход с номером телефона


Я хочу расширить FOSUserBundle, чтобы люди могли регистрироваться и входить в систему со своим номером телефона.

Я добавил дополнительное поле (номер телефона) в сущность/таблицу.

Меня на самом деле не беспокоит сторона регистрации, так как я могу просто вручную добавить дополнительное поле БД в свою регистрационную форму (если пользователь предоставит свой номер телефона).

Я пытаюсь понять, что происходит, и какие файлы используются, когда я отправляю форму входа (когда она отправляется в логин-проверка). Что это за файл, где его расширить?

Если я это знаю, то, вероятно, смогу поиграть и начать, но я действительно не понимаю, как это работает. Маршрут, похоже, ни на что не ссылается, и я знаю, что он работает только в том случае, если вы публикуете на странице, GET ничего не делает.

Таким образом, идея заключалась бы в том, чтобы каждый вводил имя пользователя и адрес электронной почты, но при желании они могли бы ввести свой номер телефона. При входе в систему они могут либо ввести имя пользователя, либо номер телефона, но главное для меня важно понять, с чего начать и перехватить часть отправки входа.

Если бы кто-нибудь мог указать файл и процесс, которые запускаются при входе в систему - проверьте, это помогло бы мне начать изучать это. Заранее спасибо.

Author: user2143356, 2013-10-01

1 answers

Я думаю, вам стоит взглянуть сюда: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/1.2.x/Resources/doc/logging_by_username_or_email.md.

Точнее, к части под названием "Расширение класса UserManager". Это способ реализовать вход с помощью адреса электронной почты, я почти уверен, что вы можете сделать то же самое, используя номер телефона. Вероятно, вам придется определить свой собственный метод "findbyusernameorphonenumber()".

 2
Author: devict, 2013-11-13 13:34:02