Spring Security redirectUri для локального хоста использует https вместо http - PullRequest
1 голос
/ 03 октября 2019

Я использовал Spring Security для реализации моего клиента oauth2. Я настроил свой обратный вызов как http://localhost:8080/login/oauth2/code/abc,, поэтому, когда я тестирую свое приложение в локальной среде, обратный вызов будет https://localhost:8080/login/oauth2/code/abc,, так как https недопустим для localhost, мой браузер выдает ошибку, из-за которой яне удалось протестировать мое приложение локально

spring:
      profiles: local
      security:
        oauth2:
          client:
            registration:
              abc:
                client-id: OTExZDE3MGQtZTkyMy00YWZjLWFhZDItMGVmZTI1ZDQ3MGJm
                client-secret: MzNlZWFhNDQtOGE4Mi00NDVkLWFiMTUtZjAzNWE2YmU2YWIz
                authorization-grant-type: authorization_code
                redirectUri: http://localhost:3000/login/oauth2/code/abc
                scope:
                  - openid
                  - internal
            provider:
              abc:
                authorization-uri: https://api.abc.com/oauth/authorize
                token-uri: https://api.abc.com/oauth/token
                jwk-set-uri: https://api.abc.com/oauth/keys

1 Ответ

0 голосов
/ 08 октября 2019

Как насчет этой конфигурации?

security.oauth2.client.use-current-uri=false

JavaDoc из AbstractRedirectResourceDetails.<a href="https://docs.spring.io/spring-security/oauth/apidocs/org/springframework/security/oauth2/client/token/grant/redirect/AbstractRedirectResourceDetails.html#isUseCurrentUri()" rel="nofollow noreferrer">isUseCurrentUri()</a> говорит следующее:

Флаг, указывающий, что текущий URI (если установлен)в запросе следует использовать предпочтение заранее установленному URI перенаправления.

...