Jira / Atlassian Java Service Desk API - лучший способ справиться с аутентификацией учетных записей клиентов / пользователей службы поддержки в приложении для создания отчетов?

В настоящее время работает над приложением службы поддержки, которое позволяет пользователям службы поддержки в нашей системе видеть больше, чем они в настоящее время могут видеть в Jira. Что я хочу сделать, так это дать им возможность комментировать билеты и, возможно, добавлять новые билеты. В настоящее время я делаю это через базовую аутентификацию, с трехсторонней аутентификацией, которую я сделал, которая использует учетную запись jira для получения билетов для просмотра, а затем их логин для аутентификации, а затем возможность комментировать билеты. Моя проблема в том, что мне каждый раз приходится проходить повторную аутентификацию, то есть я должен хранить пароль в статической строке где-то после того, как они ввели его для первоначального входа в систему. Я просмотрел документацию по api, и, насколько я могу понять, Oauth 2.0 не является вариантом (полагаю, я читал, что он не поддерживается для пользователей службы поддержки клиентов), и я не могу легко получить ключи api для них (если вообще) так как мне понадобится системный администратор для генерации ключей api для всех пользователей, и тогда было бы сложно кодировать.

Хранение пароля пользователя кажется неправильным, даже в виде массива символов. Любая помощь будет принята с благодарностью!


person Testforhelp123    schedule 28.02.2020    source источник


Ответы (1)


Хранение паролей в активном сеансе - не лучший метод, но он выполняет свою работу.

В нашем приложении мы применили следующее:

Когда пользователь аутентифицируется в первый раз, Jira отправляет ответ с файлом cookie, который может выглядеть следующим образом:

JSESSIONID=6AD97CC4450456CD968B22F7201220A7; atlassian.xsrf.token=BWP3-NZB2-6EDY-6C7K_d3ec7ed6f227879ac4cf6aee83f28e085e49227b_lin 

Мы сохранили файл cookie пользователя в его сеансе и используем его каждый раз, когда отправляем запрос API в Jira rest api от его имени.

Поскольку cookie является допустимым методом аутентификации для API службы поддержки Jira.

Аутентификация

REST API JIRA Service Desk использует те же методы аутентификации, что и JIRA. Предпочтительными методами аутентификации являются OAuth и HTTP Basic Auth (при использовании SSL). К другим поддерживаемым методам относятся: HTTP-файлы cookie и доверенные приложения.

Аутентификация в остальной части службы поддержки Jira

Подтверждение концепции

Используя почтальон, отправьте аутентифицированный запрос в Jira, используя базовую аутентификацию.

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

Вы должны увидеть тот же результат, и если вы развернете заголовки запроса, вы обнаружите, что почтальон ввел файл cookie, который был получен из первого базового запроса аутентификации.

Надеюсь это поможет.

person AbdulKarim    schedule 22.05.2020