Как отключить OAuth2 для ресурса в WSO2 API Publisher?
Я создал простой API и пытаюсь опубликовать его, используя WSO2 API Publisher (он же API Cloud). Я прошел все шаги, но, похоже, для доступа к моей конечной точке требуется заголовок авторизации. В более старой документации написано, что я могу изменить "Тип аутентификации" на уровне ресурса.
https://docs.wso2.com/display/AM160/API+Resources
Тем не менее, эта опция, похоже, отсутствует в текущей версии. Я пытался сделать так, чтобы заголовок Authorization не требовался. К сожалению, я все еще получаю следующую ошибку:
<ams:fault xmlns:ams="http://wso2.org/apimanager/security">
<ams:code>900902</ams:code>
<ams:message>Missing Credentials</ams:message>
<ams:description>Required OAuth credentials not provided</ams:description>
</ams:fault>
Можно ли отключить аутентификацию для моего API? Мне это не нужно на данный момент в моем проекте.
2 ответа
Документ, на который вы ссылались, взят из APIM 1.6. Начиная с APIM 1.7, команда APIM изменила процесс создания API на 3 этапа. Это включает в себя API дизайн, внедрение и управление. Я думаю, что вы уже испытали это. В самом низу раздела " Управление " перечислены доступные ресурсы API, их тип аутентификации, разрешенный уровень и допустимая область.
Тип аутентификации по умолчанию: приложение и пользователь приложения. Если вы нажмете на это, вы получите выпадающий список, где вы увидите "Нет" в качестве опции. Если вы установите тип аутентификации как none, вы сможете вызывать API без предоставления токена OAuth.
Смотрите следующий скриншот, где я выбрал разные типы аутентификации при создании API.
Откройте конфигурацию, связанную с вашим API, в ${AM_HOME}/repository/deploy /server/synapse-configs/default/api/ и удалите следующую часть.
<handler class="org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler"/>