wso2, настроить заголовок для переноса токена на предъявителя, не работает - PullRequest
1 голос
/ 27 января 2020

Я использую wso2am-2.6.0 versrion и хотел бы передать существующий токен-носитель, отличный от токена wa2 oauth, который предоставляет wso2.

Я следовал инструкциям, данным в этом ссылка:

  • Настройка заголовка для API
  • Настройка заголовка для всей организации

Ни один из них не решил мою проблему.

Предоставляя существующий токен на предъявителя, после выполнения шагов, упомянутых в приведенной выше ссылке, ниже приводится ответ, который я получаю:

{
  "fault": {
    "code": 900901,
    "message": "Invalid Credentials",
    "description": "Access failure for API: /embargoQA/v1, version: v1 status: (900901) - Invalid Credentials. Make sure you have given the correct access token"
  }
}

Любая помощь будет принята.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2020

Эта проблема решена путем внесения нескольких изменений,

Один в api-manager. xml, без комментариев тэга RemoveOAuthHeadersFromOutMessage и установки его в значение «false» в OAuthConfigurations, как показано ниже,

<OAuthConfigurations>
        <!-- Remove OAuth headers from outgoing message. -->
        <RemoveOAuthHeadersFromOutMessage>false</RemoveOAuthHeadersFromOutMessage>
        ..........
</OAuthConfigurations>

Секунда находится на вкладке управления при публикации API. В разделе «Ресурсы» для соответствующей конечной точки вы выбираете «Нет» вместо «Приложение / Пользователь приложения»

При этом В этом решении нам не нужно добавлять заголовок авторизации, как токен на вкладке управления при публикации API. После внесения этих изменений при испытании его в API Store вы можете предоставить свой токен Bearer в поле, предназначенном для него, и предоставить необходимые входные данные, щелкнув по кнопке execute, чтобы она заработала.

0 голосов
/ 28 января 2020

По некоторым причинам API не обновляется с новым заголовком. Если он был обновлен должным образом, вы должны увидеть его в обработчике CORS.

  <handler class="org.wso2.carbon.apimgt.gateway.handlers.security.CORSRequestHandler">
     <property name="apiImplementationType" value="ENDPOINT"/>
     <property name="AuthorizationHeader" value="Token"/>
  </handler>
...