Работа с API

Читаю:

Запрос на токен отправляет пользователя на сайт с установленным фреймворком Webasyst, где пользователь авторизуется со своими логином и паролем (логин и пароль пользователь вводит именно на сайте с установленным фреймворком, но не в приложении-клиенте, пытающемся получить токен). Пройдя авторизацию, пользователь разрешает или запрещает доступ к API.

Вопрос 1:

В файле webasystApiAuth.action.php вижу следующую конструкцию:

$token = $tokens_model->getByField(array(
'contact_id' => $this->contact_id,
'client_id' => $this->client_id
));

Я сам где-то должен сгенерить эти строки в таблице wa_api_tokens или это где-то делается автоматически?


Вопрос 2:

А если я не хочу регистрировать юзера для использования API? Или хочу зарегистрировать и залогинить юзера автоматически?

Такое возможно?

9 ответов

  • 1
    info@ravencode.ru Разработчик 23 августа 2015 05:43 #

    Используется немного модифицированная и упрощенная версия OAuth 2.

    https://www.webasyst.ru/developers/docs/api/api-ba...
    • +1
      ITFrogs ITFrogs Эксперт Разработчик 23 августа 2015 05:48 #

      Это я уже вдоль и поперек изучил. Но там нет ответов на мои вопросы.

      Я хочу сделать плагин, который будет автоматом регаться в моем же серверном приложении и получать данные через API.

      • +1
        info@ravencode.ru info@ravencode.ru Разработчик 23 августа 2015 06:19 #

        Доступ к API осуществляется через единый гейт http://ACCOUNT_URL/api.php/APP_ID.METHOD?PARAMS&ac... соответственно и авторизация единая и можно не заниматься самодеятельностью.

        • +1
          ITFrogs ITFrogs Эксперт Разработчик 23 августа 2015 08:46 #

          А почему единая авторизация? Я еще не тестировал этого, но мне кажется, что нужно делать свою форму регистрации, чтобы давать доступ к своему серверному приложению. Иначе будет access denied.

          • +1
            ITFrogs ITFrogs Эксперт Разработчик 23 августа 2015 09:44 #

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

      • +1
        info@ravencode.ru info@ravencode.ru Разработчик 23 августа 2015 06:25 #

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

        • +1
          ITFrogs ITFrogs Эксперт Разработчик 23 августа 2015 08:51 #

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

          • +1
            info@ravencode.ru info@ravencode.ru Разработчик 23 августа 2015 09:16 #

            А смысл тогда использовать WA API? Проще реализовать в приложении wsdl\soap сервис, да и для пользователей это будет привычнее. Либо создать контроллер-прослойку через который будут проходить запросы и который будет использовать один аккаунт с ограниченными правами доступа для выполнения пользовательских запросов.

Эта тема в архиве. Добавление комментариев к ней отключено.