Я пишу веб-приложение, используя micronaut, который использует oauth2 для защиты apis. он работает хорошо в том смысле, что страница входа от oauth-провайдера отображается при доступе к защищенному URL. Но после входа в систему страница не перенаправляется обратно на исходный запрошенный URL-адрес, вместо этого она переходит в '/'. Я считаю, что это потому, что micronaut использует свойство «micronaut.security.session.login-success-target-url», чтобы найти URL для go после входа в систему. Поскольку существует несколько защищенных URL-адресов, я бы хотел автоматически перенаправить их на исходный URL-адрес, если он доступен.
Любая помощь для достижения того же будет приветствоваться.
Пожалуйста, найдите ниже свойства:
---
micronaut:
security:
enabled: true
token:
propogation:
enabled: true
intercept-url-map:
-
pattern: /
http-method: GET
access:
- isAnonymous()
-
pattern: /oauth/**
http-method: GET
access:
- isAnonymous()
-
pattern: /**/login
access:
- isAnonymous()
endpoints:
login:
enabled: false
logout:
enabled: true
session:
enabled: true
login-failure-target-url: /oauth/login/cognito
unauthorized-target-url: /oauth/login/cognito
forbidden-target-url: /oauth/login/cognito
oauth2:
enabled: true
state:
persistence: session
clients:
cognito:
client-secret: '${OAUTH_CLIENT_SECRET}'
client-id: '${OAUTH_CLIENT_ID}'
openid:
issuer: 'https://cognito-idp.${COGNITO_REGION}.amazonaws.com/${COGNITO_POOL_ID}/'
authorization:
display: 'POPUP'
prompt: 'CONSENT'
token:
jwt:
enabled: true
signatures:
secret:
generator:
secret: '${JWT_GENERATOR_SIGNATURE_SECRET:pleaseChangeThisSecretForANewOne}'
endpoints:
oauth:
enabled: true
logout:
enabled: true
get-allowed: true