Spring 6 OAuth 2.0 — нет токена обновленияJAVA

Программисты JAVA общаются здесь
Anonymous
Spring 6 OAuth 2.0 — нет токена обновления

Сообщение Anonymous »

Я застрял с сервером OAuth 2.0 в Spring 6 Spring Boot 3.
Я создаю AuthServer и ResourceServer.
С моим JS-Client. Я могу войти в систему, получить код авторизации, затем обменять этот код на токен доступа, и здесь начинается дилемма.
Я получаю json-obj с помощью:
access_token
scope
id_token
token_type
expires_in

Код: Выделить всё

access_token: "eyJraWQiOiI5NWE0MTU3Mi1iNDYxLTQ0NDctYjZkNy00MTg2ZWY0NTE1OTciLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJiZW4iLCJhdWQiOiJjbGllbnQiLCJuYmYiOjE3MjkxNTMxMzQsInNjb3BlIjpbInVzZXIucmVhZCIsIm9wZW5pZCIsIm9mZmxpbmVfYWNjZXNzIl0sImlzcyI6Imh0dHA6Ly8xMjcuMC4wLjE6ODA4MCIsImV4cCI6MTcyOTE1MzQzNCwiaWF0IjoxNzI5MTUzMTM0LCJqdGkiOiI4MTIzZjI5Ni0zNTE5LTQwOTgtYWU2NS1hN2FmMDhhMGE0NTIifQ.Y-FGu2CvwC3j3_w2QfF4UMDN8GekXdhGH2F_KVxaCxlJgx5tlcf-XTsN6396R5SZr4qGOGs3eeBi5CL6nJPIcfk92uju1N1KgzsbsHpIcWZZANO2QRbBaCIXn0mO2nxHOWR8N77R5m_ST2bhXOP8vLmM68Q1I3-NzOEkQM9X8mSi8ve3JBOHGVjD1pyyyinxLtNpFdnJVVexnnmDHRBOpEaivqBi3mSWN6lfLovOTqUsAVVKPtMjuaxHFFmvfeSHp328w-JuGTsVd4Irisc2UF44bZ2fRG0vSTVWFVODemvanwkfurJ-8GhPbnvnsxhCDhw-UQ-iLkwFXcOmjhAD6Q"
​
expires_in: 299
​
id_token: "eyJraWQiOiI5NWE0MTU3Mi1iNDYxLTQ0NDctYjZkNy00MTg2ZWY0NTE1OTciLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJiZW4iLCJhdWQiOiJjbGllbnQiLCJhenAiOiJjbGllbnQiLCJhdXRoX3RpbWUiOjE3MjkxNTMxMzMsImlzcyI6Imh0dHA6Ly8xMjcuMC4wLjE6ODA4MCIsImV4cCI6MTcyOTE1NDkzNCwiaWF0IjoxNzI5MTUzMTM0LCJqdGkiOiIxZjVlNzI4NC01ZjcyLTQxZmEtYWE4MS1kOTkwMGZjYjg1YmEiLCJzaWQiOiJMVUpCYlU1OWgxa290NGRsWmxadFJOZk96dE5QaEFOQWdQbWw0a2RLdWlNIn0.VqqlS1J1zLL79PVvvKujJOMDIKJkZQtzgspLYDZlM7FXZk2q02xFYrUE1X2YIg_5aAR2KDYspHlcpXarnxr6CQPNmjDdzqdYBsoehnXYJYkpw9tdmqy3qCkkywtaRrTwNxryFgAyJ6wl2bf_2nZpny2WIItTa2YFsahpZ3tTc6ezka4Nd5_aWQnlgl2fcRhNY_HPyLSDpoXtjlYX-IUNIr9ghoMPCU5koDzHQ1tUIbcZQevoJx84RXinjfIJJmIosBgdrGun0Z847OeE0Fw3YmNN5gC8CBT-8Rab5Irmsz5msF2P3ixMNBK9uilVhfhSbEzMTuA_rXnEhz4zq7zXiA"
​
scope: "user.read openid offline_access"
​
token_type: "Bearer"
Обновить_токена нет, но согласно руководствам этот токен должен быть в комплекте с остальными.
Поэтому я не могу получить новый access_token через 300 секунд. И обновлять браузер все 5 минут - это не вариант.
Может быть, кто-нибудь сталкивался с той же проблемой и решил ее и мог бы мне помочь?
Я попробовал, следуя официальному руководству, посмотрите YouTube и спросите AI.
Я включаю область offline_access и тип предоставленияrefresh_token в application.properties.

Код: Выделить всё

spring.application.name=authorizationserver
server.port=8080

spring.security.oauth2.authorizationserver.client.client-1.registration.client-id=client
#spring.security.oauth2.authorizationserver.client.client-1.registration.client-secret={bcrypt}$2a$12$qew6z2l8LLQQeTRxqZekHOlT0jPtyrosuHtskyQBZiFOUaxXAgpIC
#spring.security.oauth2.authorizationserver.client.client-1.registration.client-authentication-methods=client_secret_basic
spring.security.oauth2.authorizationserver.client.client-1.registration.client-authentication-methods=none
spring.security.oauth2.authorizationserver.client.client-1.registration.authorization-grant-types=authorization_code,refresh_token
#spring.security.oauth2.authorizationserver.client.client-1.registration.redirect-uris=http://127.0.0.1:8082/login/oauth2/code/spring
spring.security.oauth2.authorizationserver.client.client-1.registration.redirect-uris=http://127.0.0.1:5173/callback

# not working wether with or without client.client-1
spring.security.oauth2.authorizationserver.client.client-1.token.refresh-token.enabled=true

spring.security.oauth2.authorizationserver.client.client-1.registration.scopes=user.read,user.write,openid,offline_access
spring.security.oauth2.authorizationserver.client.client-1.require-authorization-consent=true
logging.level.org.springframework.security=DEBUG
Похоже, что проблема не очень распространена, поскольку я не могу найти решения.

Подробнее здесь: https://stackoverflow.com/questions/790 ... resh-token

Вернуться в «JAVA»