REST API - авторизация/регистрация через соцсети и по email/password

112
05 сентября 2019, 13:30

Требуется сделать регистрацию+авторизацию в мобильном приложении через соцсети или через емейл на удалённом REST API сервере (я отвечаю именно за сервер).

Сходу возник вопрос. При регистрации юзера через емейл/пароль, как отличить запрос приложения от запроса какого нибудь ботнета? Если просто принимать на веру что /user/create?email=vasya@a.com&password=pupkin делает только приложение, то можно в один прекрасный день обнаружить тонны "левых" юзеров в базе. Как вариант, можно слать письмо с подтверждающим линком, но может есть другие способы сразу отсеять "левые" запросы?

Другая трудность, регистрация и авторизация на rest api сервере в мобильных приложениях через социальные сети. Что должно прийти от мобильного приложения на сервер и как проверить эту информацию?

Не смог найти внятной информации на эту тему. Подскажите какие-то best practices по реализации, желательно на php.

Answer 1

Если я правильно понял, то по первой части вопроса, вот: https://gist.github.com/zmts/802dc9c3510d79fd40f9dc38a12bccfc

По второй части:

  • Laravel - https://appdividend.com/2017/07/12/laravel-facebook-login/
  • Symfony - https://github.com/knpuniversity/oauth2-client-bundle

Или гуглёж "social authentication php".

READ ALSO
Не приходит письмо на почту после регистрации [дубликат]

Не приходит письмо на почту после регистрации [дубликат]

Данный вопрос является точным дубликатом:

123
Лишние символы в URL

Лишние символы в URL

Сорян за нубовские вопросы, но решения не нашелВникаю в разработку REST API, использую PHP STORM + MAMP Файл index

110
Как получить все ключи массива $request в Laravel?

Как получить все ключи массива $request в Laravel?

Как получить все ключи массива $request в Laravel? Подскажите способ без перебора этого массива, без всяких цикловДолжен же быть простой метод из коробки

114
Как изменить значение строки в таблице MySQL?

Как изменить значение строки в таблице MySQL?

Показал все содержимое таблицы:

138