Проверка токена JWT с использованием Mule - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь создать политику oAuth для защиты API с помощью маркера доступа JWT.Этот токен можно проверить, вызвав внешний URL-адрес.

Я использую следующий RAML для моего прокси-сервера Mule.

#%RAML 1.0
title: Custom API
version: 1
baseUri: http://localhost:8081
securitySchemes:
  oauth_2_0:
    description: |
      This API supports OAuth 2.0 for authenticating all API requests.
    type: OAuth 2.0
    describedBy:
      headers:
        authorization:
          description: |
             Used to send a valid OAuth 2 access token. Do not use with the "access_token" query
             string parameter.
          type: string      
      responses:
        401:
          description: |
            Bad or expired token. This can happen if the user or the API revoked or expired an
            access token. To fix, you should re-authenticate the user.
        403:
          description: |
            Bad OAuth request (wrong consumer key, bad nonce, expired timestamp...). Unfortunately,
            re-authenticating the user won't help here.
/hello:
  get:
  securedBy: [oauth_2_0]

Однако mule не может отправить заголовок авторизации при проверкепротив внешнего сервиса.

1 Ответ

0 голосов
/ 24 мая 2018

Размещенный вами RAML - это хорошо, но только для информации.Вы должны реализовать возможность принудительного применения токенов JWT oAuth либо в качестве пользовательской политики, либо в рамках своего потока Mule.В настоящее время не существует готовой политики для проверки токена JWT.

Обычно для проверки токена вызывается внешняя конечная точка, предоставляющая токен как часть внутреннего запроса [policy].Это означает, что сама политика будет анализировать входящий запрос пользователя и извлекать токен либо из параметров запроса, либо из заголовка Authorization (удаляя часть канала-носителя).AFAIK, заголовок авторизации никогда не отправляется на URL токена самоанализа.

...