Если я правильно понимаю вашу архитектуру, ваши пользователи отправляют вызовы API службе, работающей в другом домене. Вы не являетесь посредником в этом запросе, вы предоставляете только интерфейс, например как поле формы в вашем веб-приложении. Пользователь может отправлять вызовы API, даже не зная, что он это сделал.
В этом случае невозможно реализовать это без сохранения какой-либо аутентификационной информации в браузере (cookie, поля формы и т. Д.) Или без того, чтобы ваши пользователи вводили их для каждого запроса. Они должны прийти откуда-то, и ваш сервер не участвует в запросе.
То, что вы можете сделать, это изменить архитектуру и начать играть в человека посередине, как прокси. Вместо того, чтобы просто предоставлять интерфейс, позвольте пользователям отправлять свои запросы в ваше веб-приложение, а не напрямую связываться со службой. Ваше веб-приложение добавляет учетные данные и перенаправляет запрос в службу. Ответ службы будет отправлен в ваше веб-приложение, которое может перенаправить его снова пользователю.
В этом случае ваше веб-приложение отвечает за аутентификацию. Ваше веб-приложение добавляет учетные данные к запросу, если пользователь, отправляющий запрос, был идентифицирован и имеет необходимые разрешения. Учетные данные для службы передаются только из веб-приложения в службу, их даже можно скрыть от самого пользователя.
Такое изменение, конечно, имеет несколько последствий. Нагрузка на ваше веб-приложение увеличится, и логика станет более сложной. Эти компромиссы должны быть рассмотрены.