Я предполагаю, что этот Issuer.discover
метод пытается получить доступ к конечной точке /.well-known
. Причина, по которой вы получаете 401 Unauthorized
, заключается в том, что в WSO2 IS 5.7.0 эта конечная точка защищена по умолчанию.
Существует два решения вашей проблемы
- Отправка авторизации: Базовый заголовок с учетными данными пользователя в кодировке base64. т.е.:
Authorization: Basic base64encoded(username:password)
- Сделать конечную точку небезопасной.
Поскольку это конечная точка обнаружения, я бы сказал, что нужно выбрать вариант 2.
- Выможет сделать эту конечную точку небезопасной, выполнив следующие действия;Откройте файл
identity.xml
внутри <IS-HOME>/repository/conf/identity/
и найдите тег <ResourceAccessControl>
. - Внутри этого тега вы можете найти ресурс, соответствующий
<Resource context="(.*)/.well-known(.*)" secured="true" http-method="all"/>
, установленный на false
. т.е.: <Resource context="(.*)/.well-known(.*)" secured="false" http-method="all"/>
Вам нужно будет перезапустить сервер, чтобы изменение конфигурации вступило в силу.