1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

1.2.x Внешняя JSON аутентификация

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем dronnn, 31.08.2015.

Загрузка
  1. dronnn

    dronnn Местный

    Регистрация:
    02.05.15
    Сообщения:
    3
    Симпатии:
    0
    Версия XF:
    1.2.4
    Уважаемые форумчане, помогите плиз осуществить авторизацию в дополнительном веб приложении используя базу данных XenForo через JSON аутентификацию. Приложение использует комбинацию HTTP (S), JSON, Rijndael 256 и кодирование base64 для передачи и получения запросов.
    Вот что должно получиться:
    1) Пользователь заходит на веб приложение.
    2) Пользователь вводит логин и пароль от XenForo.
    3) Приложение передает фоновый HTTP запрос по назначенному URL к XenForo (который содержит код аутентификации).
    4) XenForo отвечает сообщением об успехе или неудаче.
    5) Если это успех веб приложение автоматически создаст новую учетную запись пользователя и откроет доступ пользователя.
    6) Если это неудача, то приложение выведет соответствующее сообщение.

    Веб приложение посылает следующий HTTP POST массив:
    PHP:
    Array (
        [
    data] =>
        {
            
    "username":"johnsmith",
            
    "password":"1234",
            
    "task":"authenticate",
            
    "api_version":1,
            
    "program_version":"4.1",
            
    "program_name":"dalegroup.tickets"
        
    }
        [
    site_id] => 1
    )
    Массив данных кодируется с помощью base64, а затем шифруется с использованием Rijndael 256.

    Значение ID сайта размещено без кодирования или шифрования, что позволяет иметь различные Аутентификации одного URL.

    Как массив данных зашифрован вы должны иметь ключ шифрования как на обоих сторонах.

    Веб приложение рассчитывает получить следующий ответ:
    PHP:
    Array (
        [
    success]     => 1
        
    [name]         => "John Smith"
        
    [email]     => "john@example.com"
    )
    или
    PHP:
    Array (
        [
    success]     => 0
    )
    Опять этот массив кодируется с помощью base64, а затем шифруется с использованием Rijndael 256.

    Я не очень разбираюсь в PHP, плюс перевел с англ.
    Спасибо.
     
  2. dronnn

    dronnn Местный

    Регистрация:
    02.05.15
    Сообщения:
    3
    Симпатии:
    0
    Версия XF:
    1.2.4
    Вложил куски кода
     

    Вложения:

  3. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Наймите специалиста и не мучайтесь.
     

Поделиться этой страницей