Каким должен быть рабочий процесс для тега ‹cfoauth› в ColdFusion 11?

Сегодня я изучал тег <cfoauth> в ColdFusion 11. Шаги, которые я выполнил:

  1. Я создал одно приложение на Facebook, используя URL своего локального сайта (http://cf11local.com/).
  2. Я получил идентификатор клиента и секретный ключ.
  3. В Login.cfm я использовал:

    <cfoauth type="facebook" clientid="***" secretkey="************" result="res" redirecturi="http://cf11local.com/login.cfm" scope=email>

  4. Я успешно извлек всю свою информацию из Facebook в формате структуры.

Теперь мой вопрос:

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

person user3427540    schedule 21.04.2014    source источник


Ответы (1)


Чтобы интегрировать функциональность Facebook на свой сайт, вам необходимо выполнить шаги, указанные ниже:

  1. Предоставьте вариант «Войти через Facebook»
  2. После того, как пользователь нажмет кнопку входа в Facebook, ему будет предложено войти в Facebook, если он еще не вошел в систему. Если пользователь уже вошел в систему, пользователю будет предложено во всплывающем окне предоставить разрешения на доступ к информации.
  3. Как только пользователь даст разрешение или если пользователь уже авторизовал ваше приложение, пользователь будет немедленно перенаправлен на ваш URL-адрес перенаправления, который вы указали в атрибуте redirecturi тега oauth, вместе с информацией для входа в переменную, указанную в атрибуте результата тега oauth. Атрибут результата будет структурой.
    (Вы достигли этого до сих пор. Спасибо за терпение.)
    Теперь, чтобы ответить на ваш вопрос.
  4. Вам нужно сохранить эту переменную результата в области сеанса, чтобы к ней можно было получить доступ в том же сеансе на других страницах. Вы можете сделать это с помощью <cfset Session.fbinfo = #res#>
  5. После этого перенаправьте пользователя на нужную страницу с помощью тега cflocation.
    <cflocation url = "desired page">
  6. На каждой странице проверяйте, находится ли информация для входа пользователя в область сеанса или нет. Если в сеансе нет данных для входа, перенаправьте его на страницу входа.
    <cfif (not isdefined('Session.fbinfo'))> <cflocation url = "login page"> </cfif>
    Если в сеансе есть данные для входа, пользователь может получить доступ к сайту.
  7. Как только пользователь выйдет из системы, вам необходимо аннулировать токен доступа, присутствующий в сеансе. Вы можете сделать это, используя InvalidateOauthAccesstoken("access token", "facebook")
  8. Удалите информацию о пользователе из сеанса.
    <cfset StructClear(Session)>
person Tushar Bhaware    schedule 11.10.2014