Как перенаправить обратно на исходный URL после входа в OAuth в Micronaut - PullRequest
0 голосов
/ 21 января 2020

Я пишу веб-приложение, используя 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
...