Работа с безопасностью аккаунта при входе пользователя через Facebook или Google

1

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

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

Моя первая идея состояла в том, чтобы просто пропустить поле ввода пароля, когда у пользователя нет зарегистрированного прохода, но, думая еще раз, это может быть проблема безопасности (он оставляет его зарегистрированным где-то, а кто-то еще может легко захватить учетную запись)

Итак, что было бы хорошим способом решить эту проблему?

Теги:
security
facebook

3 ответа

0

Мы используем логины google, paypal и facebook в качестве авторизации в наших интернет-магазинах. Мы обработали его, чтобы пользователь мог изменить свой адрес электронной почты (= имя пользователя учетной записи), когда он зарегистрировался непосредственно в нашем магазине (с проверкой электронной почты) и только после того, как был введен правильный пароль.

Когда пользователь зарегистрировал открытую службу аутентификации (например, facebook), он может изменить свой адрес электронной почты (= имя пользователя учетной записи), если он преобразует свою открытую учетную запись auth в реальную учетную запись. Для этого он должен сначала войти в систему по открытому auth, но он должен ввести действительный адрес электронной почты и маркер безопасности отправить на старый адрес электронной почты (предоставленный открытой службой авторизации), чтобы проверить, что он является законным владельцем адреса. После этого он должен выбрать обычный пароль для входа.

0

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

Это будет работать только в том случае, если они не оставили учетную запись электронной почты в журнале.

Поток будет:

  1. Перейдите для изменения страницы электронной почты.
  2. Нажмите кнопку, чтобы авторизовать изменение адреса электронной почты - это отправляет электронное письмо существующей учетной записи электронной почты пользователя, содержащую 64-битовый токен, случайным образом генерируемый криптографически надежным генератором псевдослучайных чисел.
  3. Пользователь открывает свою учетную запись электронной почты и щелкает по ссылке.
  4. Если токен действителен, страница, указанная в ссылке, позволяет изменить адрес электронной почты.
  5. Если токен не используется в течение примерно 6 часов, токен истек.

Храните токены, хэшированные SHA-256 в вашей базе данных, чтобы предотвратить утечку данных, позволяя злоумышленнику изменять адреса электронной почты других пользователей, создавая ссылки для сброса электронной почты с использованием исходных значений.

-2

Держите флаг где-нибудь (например, столбец базы данных), чтобы определить, зарегистрирован ли пользователь через "социальный логин". Если он установлен, пользователь может изменить свой пароль. Если это не так, у него вообще нет пароля.

  • 0
    ОП спрашивала, как решить проблему безопасности, которую они подняли, а не как отслеживать, есть ли у пользователя существующий пароль.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню