Page 1 of 1

Нужно ли для использования REST API предварительно авторизоваться?

Posted: 29 Dec 2019, 18:10
by IuriyLb
При попытке использовать токен через постмен, меня бросает на форму авторизации. Вопрос такой... Должен ли я предварительно авторизоваться тем же пользователем? Отдельного АПИ для авторизации нет. Но и без авторизации меня не пускает. Что делать?

Re: Нужно ли для использования REST API предварительно авторизоваться?

Posted: 09 Jan 2020, 09:10
by Kirill
Предварительная авторизация не нужна.
Запросы должны работать хоть в командной строке с помощью утилиты curl, которая ничего не знает о ваших сеансах в браузере.
Проверьте документацию https://documenter.getpostman.com/view/ ... pi/7Lt6zkP
Также желательно обновиться до последней версии Мантис 2.23 (на текущий момент).

Re: Нужно ли для использования REST API предварительно авторизоваться?

Posted: 11 Jan 2020, 12:05
by IuriyLb
@Kirill

1. Обновил мантис до последнего.
2. Сгенерил токен заново
3. Обновил токен в rest-запросе
4. То же самое - код 200 и в респонсе страница авторизации

В документации ничего не сказано о каких-то специфических настройках.

Что ещё может быть?

Re: Нужно ли для использования REST API предварительно авторизоваться?

Posted: 11 Jan 2020, 13:59
by Kirill
Вы пробовали выполнить такой скрипт в командной строке?

Code: Select all

curl --location --request GET '{{url}}/api/rest/projects/' --header 'Authorization: {{token}}'
В нем надо заменить {{url}} и {{token}} на свои. А также скачать файл curl, например по этому этому адресу https://curl.haxx.se/download.html, там есть версия для Windows

Re: Нужно ли для использования REST API предварительно авторизоваться?

Posted: 11 Jan 2020, 15:15
by IuriyLb
Kirill wrote: 11 Jan 2020, 13:59 Вы пробовали выполнить такой скрипт в командной строке?

Code: Select all

curl --location --request GET '{{url}}/api/rest/projects/' --header 'Authorization: {{token}}'
В нем надо заменить {{url}} и {{token}} на свои. А также скачать файл curl, например по этому этому адресу https://curl.haxx.se/download.html, там есть версия для Windows
Попробовал curl, получаю html все той же страницы авторизации.

Re: Нужно ли для использования REST API предварительно авторизоваться?

Posted: 11 Jan 2020, 15:23
by Kirill
А доступ к логам вебсервера есть?
Можете сюда выложить? Хотя с этими вопросами лучше обращаться на специализированных форумах.

Re: Нужно ли для использования REST API предварительно авторизоваться?

Posted: 11 Jan 2020, 15:46
by IuriyLb
Kirill wrote: 11 Jan 2020, 15:23 А доступ к логам вебсервера есть?
Можете сюда выложить? Хотя с этими вопросами лучше обращаться на специализированных форумах.
А какие именно логи? Я в этом деле слаб. Есть логи vestacp, логи nginx, логи мантиса. А может вообще нужно логи апача смотреть? Логи мантиса я пытался включить, но при отправке запросов они пустые. Не знаю, толи нет что логировать, толи запросы по rest не доходят в лог-файлы.

Re: Нужно ли для использования REST API предварительно авторизоваться?

Posted: 11 Jan 2020, 19:08
by IuriyLb
Ни один лог от vestacp не показывает, что апи запросы, в том числе и nginx.
Но я могу в php-коде мантиса вручную дописать логи если у кого-нибудь есть идеи что где можно проверить.

Re: Нужно ли для использования REST API предварительно авторизоваться?

Posted: 12 Jan 2020, 12:02
by IuriyLb
Kirill wrote: 11 Jan 2020, 15:23
Проверил все еще раз постменом:
1. Если отправляю запрос на /api/rest без токена, то получаю "401 API token required"
2. Если отправляю запрос на /api/rest с неправильным токеном, то получаю "403API token not found"
3. Если отправляю запрос на /api/rest с правильным токеном, то получаю "Page Not Found. The page you are looking for could not be found. Check the address bar to ensure your URL is spelled correctly. If all else fails, you can visit our home page at the link below."

4. Если отправляю запрос на /api/rest/projects/ с правильным токеном, то получаю страницу авторизации.

Насколько я понимаю, первые три кейса работают нормально, а вот последний - что-то не так. Как будто такого АПИ не существует и меня кидает на сценарий обычной авторизации.

Re: Нужно ли для использования REST API предварительно авторизоваться?

Posted: 21 Jan 2020, 11:14
by Kirill
А если последнее с неправильным токеном?