Я пытаюсь создать Сервер авторизации от SpringBoot и Spring Cloud.
Это мои зависимости:
plugins {
id 'org.springframework.boot' version '2.2.6.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id 'java'
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:Hoxton.SR3"
}
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.cloud:spring-cloud-starter-oauth2'
implementation 'org.springframework.cloud:spring-cloud-starter-security'
}
Как видите, облачная версия установлена на Hoxton.SR3
Когда приложение запущено, я могу успешно нажать URL-адрес для получения токена:
localhost: 8082 / oauth / token
Но проблема заключается в получении открытых ключей c. Я ожидаю получить его, нажав:
localhost: 8082 / token_keys
, чтобы получить:
{
"keys": [
{
...
}
]
}
, но вместо ответа выше я получаю 404. Я отладил код пружины и понял, что у нас есть только конечная точка для:
localhost: 8082 / oauth / token_key
и ответ не тот, который я ожидаю:
{
"alg": "SHA256withRSA",
"value": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtsOqMEp27pGzVTL7Xf062QzpyVV/yVhGc89CHIN+nVPOMcTJxwuav1iNVfwNR0j/V8NOc9GJZqc6HlaMWOkvcL1xQkz17nFgIdbpl3M/3vSUStC4VYo4YoCKLiYUX8pk5OMnrMF4Zdx3hKRfETLkMoe2aetynaWw+TPzvcWJlWPoRcbcWPC9NYEGci6hfKd86KhpMDluGgEuUBIbOOC6GrhhJ9NNwENrJOeslzI1G2cRUT+8PlnkO0HTKvp4pEVNJXwnQ/qn+FW0oJLLLu3KgztHqWL+Sf2Kdz2ptmFW1pWKnoFh+lAsI3ftYM0KNw1ng++h+6C0e72DlG74U9gQkQIDAQAB\n-----END PUBLIC KEY-----"
}
Итак, позже с моего сервера ресурсов я получаю сообщение об ошибке, потому что JWT Decoder ожидает "ключи".
Примечание , что ResourceServer также использует ту же облачную версию (Hoxton.SR3)