#spring-security #sas
Вопрос:
Я получил ключ доступа из конечной точки «/oauth2/токен». Но когда я запрашиваю другую пользовательскую конечную точку с помощью access_token, spring sas 0.2.0 выдает «Доступ запрещен».
Сначала выполните
curl --location --request POST 'http://127.0.0.1:9000/oauth2/token?grant_type=authorization_codeamp;code=YeJIEhXpWDVkRiuCy3ARVHQDb9KJxrU0EF4LqT5CO_3t6fesQtNLWFPHYpm93ZmhvjSC3gNJh7EkC-Y8zjeUE7gG7PVYi0ZKFIHv2vosAHqllgdsy-2FEUFCJg01psrAamp;redirect_uri=https://www.baidu.com' --header 'Authorization: Basic bWVzc2FnaW5nLWNsaWVudDpzZWNyZXQ=' --header 'Cookie: JSESSIONID=984A845EEFA040BFE7114A49A31A207C'
ответ таков
{ "access_token": "eyJraWQiOiJhNzA2ODU0NS1kNGE3LTQzOWUtOWFjNS1lNjA3ZmE4M2FlYTQiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2VyMSIsImF1ZCI6Im1lc3NhZ2luZy1jbGllbnQiLCJuYmYiOjE2MzY0NDY1NzcsInNjb3BlIjpbIm1lc3NhZ2Uud3JpdGUiXSwiaXNzIjoiaHR0cDpcL1wvYXV0aC1zZXJ2ZXI6OTAwMCIsImV4cCI6MTYzNjQ0Njg3NywiaWF0IjoxNjM2NDQ2NTc3fQ.gK5ZQyHbV3vC1KkKuTp39BpSevKJPawy0ruXAUtICkTacz4hPv0u39lIf2Yze0-esq5D58YHOU2mcTE7RwGQDVjJVTxx9acV4a0bNcVM7H52I1QMCVWVYOl9fXmG8Z2aZFgEXP5TvmWaDh7ZZkG8iAxIexE72rlbkCB9P58_fkKLt9ui_lJGhDlD3ExKs2hcwyiDQmHugP3bpxGBX2rq_pnBN50oG0Tffur3fzTaO9pehxikjLCrbfAt94TeF3O7xrqvcHMRvUVR78pdN7Z4zEPCYWCq1bDEqXKUqdRfqxoK6JZJb4CpZXGC5I3eh9xg_1CSfbA3EKil0iKR0wUmog", "refresh_token": "2jR_frg36Bzogz-Ul7_KQCokYLuWu2IKhW1fpL8YBZv_qrunTXN-UX7mwPcs0AXFf8ILnsiqbnz5q_Ant26VdElP5ts01SVF-lwq1BKMCM9H1Qls8qgXuKMENdE4-vUX", "scope": "message.write", "token_type": "Bearer", "expires_in": 299 }
Второе выполнение
curl --location --request GET 'http://127.0.0.1:9000/abc/hello' --header 'Authorization: Bearer eyJraWQiOiJhNzA2ODU0NS1kNGE3LTQzOWUtOWFjNS1lNjA3ZmE4M2FlYTQiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2VyMSIsImF1ZCI6Im1lc3NhZ2luZy1jbGllbnQiLCJuYmYiOjE2MzY0NDY1NzcsInNjb3BlIjpbIm1lc3NhZ2Uud3JpdGUiXSwiaXNzIjoiaHR0cDpcL1wvYXV0aC1zZXJ2ZXI6OTAwMCIsImV4cCI6MTYzNjQ0Njg3NywiaWF0IjoxNjM2NDQ2NTc3fQ.gK5ZQyHbV3vC1KkKuTp39BpSevKJPawy0ruXAUtICkTacz4hPv0u39lIf2Yze0-esq5D58YHOU2mcTE7RwGQDVjJVTxx9acV4a0bNcVM7H52I1QMCVWVYOl9fXmG8Z2aZFgEXP5TvmWaDh7ZZkG8iAxIexE72rlbkCB9P58_fkKLt9ui_lJGhDlD3ExKs2hcwyiDQmHugP3bpxGBX2rq_pnBN50oG0Tffur3fzTaO9pehxikjLCrbfAt94TeF3O7xrqvcHMRvUVR78pdN7Z4zEPCYWCq1bDEqXKUqdRfqxoK6JZJb4CpZXGC5I3eh9xg_1CSfbA3EKil0iKR0wUmog' --header 'Cookie: JSESSIONID=230472D75BB8A81CC4EEDE46F83376A3'
ответ-состояние http 401
Комментарии:
1. Я сам решаю эту проблему. Я забыл добавить зависимость
spring-boot-starter-oauth2-resource-server
. И мне нужно настроитьSecurityFilterChain
, чтобы добавитьoauth2ResourceServer