У меня есть простая настройка WSO2 APIM с MYSQL и опубликованные API с использованием пользователя-администратора.
При изменении пароля администратора по умолчанию для диспетчера API я могу войти в систему, используя новый пароль в Publisher/Store, но не использовать опубликованный API.
Следовали Документация WSO2 при смене пароля. Перезапущен APIM WSO2.
При вызове опубликованного API я вижу следующий ответ:
{"fault":{"code":900900,"message":"Unclassified Authentication Failure","description":"Error while accessing backend services for API key validation"}}
Ниже приведена трассировка стека ошибки, наблюдаемой в wso2-apigw-errors.log:
org.wso2.carbon.databridge.agent.exception.DataEndpointLoginException: Cannot borrow client for ssl://10.93.16.127:9711.
at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:134)
at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.run(DataEndpointConnectionWorker.java:59)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.wso2.carbon.databridge.agent.exception.DataEndpointLoginException: Error while trying to login to data receiver :/10.93.16.127:9711
at org.wso2.carbon.databridge.agent.endpoint.binary.BinaryDataEndpoint.login(BinaryDataEndpoint.java:50)
at org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:128)
... 6 more
Caused by: org.wso2.carbon.databridge.commons.exception.AuthenticationException: wrong userName or password
at sun.reflect.GeneratedConstructorAccessor194.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.wso2.carbon.databridge.agent.endpoint.binary.BinaryEventSender.processResponse(BinaryEventSender.java:163)
at org.wso2.carbon.databridge.agent.endpoint.binary.BinaryDataEndpoint.login(BinaryDataEndpoint.java:44)
... 7 more
Эта ошибка исчезнет, как только я изменю пароль на «admin» по умолчанию.
Пожалуйста, проверьте, правильный ли у вас пароль здесь.
<ThrottlingConfigurations>
<EnableAdvanceThrottling>true</EnableAdvanceThrottling>
<TrafficManager>
<Type>Binary</Type>
<ReceiverUrlGroup>tcp://${carbon.local.ip}:${receiver.url.port}</ReceiverUrlGroup>
<AuthUrlGroup>ssl://${carbon.local.ip}:${auth.url.port}</AuthUrlGroup>
<Username>admin</Username>
<Password>admin</Password>
</TrafficManager>
Он установлен на <Password>${admin.password}</Password>
. Кроме того, пароль был обновлен через пользовательский интерфейс Carbon, а постоянство - это MYSQL, не будет ли изменение пароля автоматически получено из MYSQL?
Вы настроили user-mgt.xml в диспетчере трафика? Если нет, попробуйте жестко закодировать admin/admin здесь.
Не обновлял user-mgt.xml, он по-прежнему содержит значения по умолчанию. Также согласно документации: "Обратите внимание, что пароль в файле user-mgt.xml записывается в основное хранилище пользователей при первом запуске сервера. После этого пароль будет проверяться из основного хранилища пользователей, а не из файла user-mgt.xml. Поэтому, если вам нужно изменить пароль администратора, хранящийся в хранилище пользователей, вы не можете просто изменить значение в файле user-mgt.xml. Чтобы изменить пароль суперадминистратора, вы должны использовать опцию «Изменить пароль» в консоли управления.".
Извините за неясность. Я спросил, вы настроили хранилище пользователей в диспетчере трафика? Если нет, то делайте как я сказал выше.
Обновили ли вы учетные данные в разделе <ThrottlingConfigurations> в файле api-manager.xml, этот файл можно найти в <APIM>/repository/conf