Intereting Posts
Как сохранить изображение с URL-адреса с помощью PHP? laravel 5.4: Laravelcollective / html v5.3.0 требует подсветки / просмотра 5.3. * cakePHP- Клиент электронной почты: чтение почтового ящика gmail на localhost Длина строк в unicode различна Как отобразить или просмотреть загруженное изображение после отправки на PHP без сохранения базы данных? Как обновить сводную таблицу на laravel? Отправлять данные от android на сервер через JSON Отображение данных из двух разных таблиц в index () с использованием cakephp. Поставщик безопасности Silex Регулярное выражение для соответствия неограниченному числу параметров Каков наилучший способ взглянуть на экземпляр (объект) класса PHP, чтобы увидеть все доступные ему публичные свойства и методы? Почему я должен использовать bitwise / bitmask в PHP? Как я могу использовать gzip для своих веб-файлов Как сортировать дату в mysql? Управление мега-массивами в PHP

Как можно безопасно регистрировать пользователей автоматически после предыдущей проверки подлинности Facebook?

Пользователи жалуются, что им приходится заходить в систему слишком часто. Если аутентификация полностью построена на Facebook OAuth, как можно автоматически войти в систему при следующем посещении страницы?

Пример потока пользователей:

  1. Пользователь нажимает «Войти в Facebook»
  2. Пользователь аутентифицируется с помощью Facebook и перенаправляется на сайт
  3. Пользователь подтвержден и зарегистрирован.
  4. Пользователь закрывает окно на сайте (но не в браузере)
  5. Пользователь посещает несколько часов спустя и должен повторно подключиться к Facebook, чтобы получить доступ снова (пользователи жалуются на это)

Идеальный поток пользователей

  • Пользователи регистрируются автоматически для каждого посещения
  • Исключение: если пользователь нажимает «выйти из системы», он должен потребовать повторного аутентификации в следующий раз, когда они посещают.

Как можно безопасно и безопасно?

Заметки:

  • Ни одно имя пользователя или пароль не хранится локально, а только локальный идентификатор пользователя и связанный с ним идентификатор пользователя Facebook.
  • «Автономный доступ» уже включен / предоставлен в запросе OAuth 2.0.

Related of "Как можно безопасно регистрировать пользователей автоматически после предыдущей проверки подлинности Facebook?"

Используйте метод JS-SDK FB.getLoginStatus() :

 FB.getLoginStatus(function(response) { if (response.authResponse) { // logged in and connected user, someone you know // reload page or use ajax to update content of page } else { // no user session available, someone you dont know } }); 

Помимо указания пользователям проверить флажок «Запомнить меня в Facebook», самый простой способ – установить собственный файл cookie, который содержит идентифицирующую информацию. Естественно, здесь существует проблема безопасности в отношении нескольких пользователей на одном компьютере, но это довольно распространенная практика, и большинство пользователей / сайтов считают это совершенно приемлемым.

Единственное, что вы должны быть очень осторожны, это то, что ваше значение cookie уникально идентифицирует пользователя и не может быть подделано другим пользователем. Поскольку вы используете токены offline_permission, вы можете использовать это как часть значения cookie, поскольку оно уже уникально для каждого пользователя и «неопознано» другими пользователями. Другими вариантами могут быть md5, состоящий из идентификатора пользователя и некоторой секретной строки, или даже полностью случайной строки, которая хранится в вашем db и связана с локальным идентификатором пользователя.

Когда пользователь явно выходит из системы, вы просто очищаете файл cookie, и пользователь должен будет снова аутентифицироваться в следующий раз.

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