2015-04-26 1 views
1

Я создаю приложение, где у нас есть три типа входа:Реализация социального Войти и в приложении логин

  1. Facebook
  2. Google+
  3. In-App Регистрация и Логин.

Для аутентификации на уровне приложения мы сохранили комбинацию имени пользователя и пароля.

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

Как мы это сделаем?

ответ

2

Когда пользователь регистрируется в Facebook, он всегда сможет вернуться в ваше приложение и снова войти в систему, используя Facebook.

Когда вы используете учетную запись Facebook, то, что вы действительно делаете, вызывает API Facebook с учетными данными пользователя. Первый раз, пользователь будет подсказкой с диалогом авторизовать приложение, но во второй раз, диалоговое окно не будет отображаться, и пользователь будет автоматически перенаправлен на ваш App

Посмотреть документы здесь: https://developers.facebook.com/docs/facebook-login/android/v2.3

В обоих случаях вы получите подтверждение в своем обратном вызове (onSuccess), на этом этапе вы можете спокойно предположить, что ваш пользователь вошел в систему.

Если вы реализуете этот код, вам не нужно будет отслеживать что-либо еще, и пользователи всегда смогут войти в ваше приложение, но это не ваш случай.

Как вы хотите предоставить свою собственную систему входа в систему + другие системы регистрации сторонних разработчиков, вам нужно создать пользовательскую строку в своей базе данных и сохранить user_id, который вы получите, когда пользователь использует стороннюю систему входа. Затем вы проверяете свой метод обратного вызова user_id, и если он находится в вашей базе данных, вы загружаете данные. Вы всегда можете предложить добавить новый пароль для своей собственной системы входа.

Надеюсь, это поможет.

Смежные вопросы