Работа с 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 ответов
Используется немного модифицированная и упрощенная версия OAuth 2.
https://www.webasyst.ru/developers/docs/api/api-ba...Это я уже вдоль и поперек изучил. Но там нет ответов на мои вопросы.
Я хочу сделать плагин, который будет автоматом регаться в моем же серверном приложении и получать данные через API.
Доступ к API осуществляется через единый гейт http://ACCOUNT_URL/api.php/APP_ID.METHOD?PARAMS&ac... соответственно и авторизация единая и можно не заниматься самодеятельностью.
А почему единая авторизация? Я еще не тестировал этого, но мне кажется, что нужно делать свою форму регистрации, чтобы давать доступ к своему серверному приложению. Иначе будет access denied.
Проверил. Оказывается абсолютно любой зареганный юзер может получить токен к любому приложению.
А по поводу А если я не хочу регистрировать юзера для использования API? если учесть что API позволяет вынести сайт чуть больше чем полностью, то это явно не лучшая идея.
Допустим у меня приложение, которое будет работать с api, делает только информационные запросы. Ничего этими запросами не вынесешь. Я бы одного юзера создал, который имеет доступ к приложению, и через него бы все запросы пустил. С другой стороны, система позволяет создать бесконечный токен, и пользоваться им. Но я еще не решил. Наверное все же пропущу юзеров через упрощенную регистрацию.
А смысл тогда использовать WA API? Проще реализовать в приложении wsdl\soap сервис, да и для пользователей это будет привычнее. Либо создать контроллер-прослойку через который будут проходить запросы и который будет использовать один аккаунт с ограниченными правами доступа для выполнения пользовательских запросов.
Так вот же я и исследую этот вопрос.