Пользователи жалуются, что им приходится заходить в систему слишком часто. Если аутентификация полностью построена на Facebook OAuth, как можно автоматически войти в систему при следующем посещении страницы?
Пример потока пользователей:
Идеальный поток пользователей
Как можно безопасно и безопасно?
Заметки:
Используйте метод 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, и пользователь должен будет снова аутентифицироваться в следующий раз.
И только для того, чтобы быть ясным, я интерпретирую ваш вопрос как об аутентификации (идентификации), а не о разрешении (разрешениях), поскольку вы упомянули, что уже предоставлен автономный_акционер.