Разница между структурой JWKS JSON в Spring Boot и документацией AuthO - PullRequest
0 голосов
/ 21 сентября 2018

В настоящее время я пытаюсь проверить JWT в моем Spring Boot 2.0.3 приложении (действующем в качестве сервера ресурсов) с открытым ключом.Для этого я использую свойства "key-set-uri" в моих application.yml.

. Я задаюсь вопросом об этих двух документах.Поскольку в этих документах есть два разных объекта JSON, как описать структуру объекта JSON JWKS.

Функции безопасности сервера ресурсов oauth2 (3. Сервер ресурсов)

Кроме того, если ваш сервер авторизации имеет конечную точку, которая возвращает набор JSON Web Keys(JWKs), вы можете настроить security.oauth2.resource.jwk.key-set-uri.Например, в PWS:

$ curl https://uaa.run.pivotal.io/token_keys
{"keys":[{"kid":"key-1","alg":"RS256","value":"-----BEGIN PUBLIC  
KEY-----\nMIIBI...\n-----END PUBLIC KEY-----\n"]}

JWKS

{ "keys": [   {
    "alg": "RS256",
    "kty": "RSA",
    "use": "sig",
    "x5c": [
      "MIIC++5noukWVqJuMKNw......XYdUAphDaHo4/8rbKTJhlu8jEcc1KoMXAKjgaVZtG/="
    ],
    "n": "-yQwJPltHxShZq5-......7yMRxzUqgxcAqOBpVm0b-_mW3HoBdjQ",
    "e": "AQAB",
    "kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg",
    "x5t": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg"   } ]}

Объект JSON JWKS в документации по Spring Boot включает пару ключ-значение с именем ключа "значение ", а в значении вы найдете открытый ключ.В документации authO объекта JSON JWKS нет пары ключ-значение с именем «значение».

Может кто-нибудь объяснить мне причину?Существует ли более одного значения по умолчанию для объектов JSON JKWS?И ожидает ли Spring Boot параметр «значение» в объекте JSON?Потому что я получаю предупреждение в процессе запуска моего весеннего загрузочного приложения и получаю ту же структуру JWKS, что и в документации от authO.Может ли это быть проблемой?

JwtAccessTokenConverter: Невозможно создать верификатор RSA из
verifyierKey (игнорируется при использовании MAC)

И Spring Boot ожидает заголовоки строки нижнего колонтитула, такие как -----BEGIN PUBLICKEY и так далее?

Большое спасибо заранее.

...