Как отключить 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"/>

Другие вопросы по тегам