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

MantisBT forum for users who prefer to ask and answer questions in Russian.

Moderators: Developer, Contributor

Post Reply
IuriyLb
Posts: 11
Joined: 25 Dec 2019, 19:52

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

Post by IuriyLb »

При попытке использовать токен через постмен, меня бросает на форму авторизации. Вопрос такой... Должен ли я предварительно авторизоваться тем же пользователем? Отдельного АПИ для авторизации нет. Но и без авторизации меня не пускает. Что делать?
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

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

Post by Kirill »

Предварительная авторизация не нужна.
Запросы должны работать хоть в командной строке с помощью утилиты curl, которая ничего не знает о ваших сеансах в браузере.
Проверьте документацию https://documenter.getpostman.com/view/ ... pi/7Lt6zkP
Также желательно обновиться до последней версии Мантис 2.23 (на текущий момент).
IuriyLb
Posts: 11
Joined: 25 Dec 2019, 19:52

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

Post by IuriyLb »

@Kirill

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

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

Что ещё может быть?
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

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

Post 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
IuriyLb
Posts: 11
Joined: 25 Dec 2019, 19:52

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

Post 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 все той же страницы авторизации.
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

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

Post by Kirill »

А доступ к логам вебсервера есть?
Можете сюда выложить? Хотя с этими вопросами лучше обращаться на специализированных форумах.
IuriyLb
Posts: 11
Joined: 25 Dec 2019, 19:52

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

Post by IuriyLb »

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

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

Post by IuriyLb »

Ни один лог от vestacp не показывает, что апи запросы, в том числе и nginx.
Но я могу в php-коде мантиса вручную дописать логи если у кого-нибудь есть идеи что где можно проверить.
IuriyLb
Posts: 11
Joined: 25 Dec 2019, 19:52

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

Post 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/ с правильным токеном, то получаю страницу авторизации.

Насколько я понимаю, первые три кейса работают нормально, а вот последний - что-то не так. Как будто такого АПИ не существует и меня кидает на сценарий обычной авторизации.
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

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

Post by Kirill »

А если последнее с неправильным токеном?
Post Reply