Безопасность с помощью входа в Facebook с помощью MySQL DB и iOS

#php #mysql #ios #facebook #facebook-login

#php #mysql #iOS #Facebook #facebook-вход

Вопрос:

В настоящее время мое приложение для iOS подключено к API facebooks для входа пользователей в мое приложение. Я не предоставляю пользователям никакого другого способа входа в систему, поэтому у них сейчас нет локальных паролей в моей базе данных. В настоящее время приложение отправляет идентификатор пользователя facebook на мой сервер, и если он есть в БД, он завершает вход в систему, если нет, он перенаправляет пользователя на регистрацию. Очевидно, что это довольно паршивый способ сделать это, поскольку любой может просто ввести идентификатор пользователя, если он его знает (это общедоступная информация), и войти в мое приложение как кто-то другой. У меня есть операторы if в моем PHP, чтобы убедиться, что пользователь действительно находится в таблице перед публикацией.

Мой вопрос в том, как я могу сделать процесс входа в систему безопасным, чтобы люди не могли просто ввести идентификатор пользователя и получить доступ? Я прочитал API facebook, но я не очень хорошо знаком с программированием и был бы признателен за помощь. Я знаю, что у facebook должно быть что-то для этой цели, я либо пропустил это, потому что я этого не понимаю, либо полностью пропустил.

Заранее спасибо!

Ответ №1:

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

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

Дополнительная документация здесь: официальный Fb iOS SDK https://developers.facebook.com/docs/reference/ios/current/class/FBAccessTokenData /