Так что было не совсем точно, что сессионный cookie не был установлен. Я думаю, что выглядело это неправильно в Chrome, когда я искал это в производстве. Но файл cookie, казалось, был сброшен.
spring:
security:
oauth2:
client:
registration:
google:
redirectUri: https://<youurl>/login/oauth2/code/google
Когда я добавил это, он создал новую проблему:
org.springframework.security.oauth2.core.OAuth2AuthenticationException: [invalid_redirect_uri_parameter]
at org.springframework.security.oauth2.client.oidc.authentication.OidcAuthorizationCodeAuthenticationProvider.authenticate(OidcAuthorizationCodeAuthenticationProvider.java:132) ~[spring-security-oauth2-client-5.1.2.RELEASE.jar!/:5
.1.2.RELEASE]
at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:175) ~[spring-security-core-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
at org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter.attemptAuthentication(OAuth2LoginAuthenticationFilter.java:186)
Это потому, что redirectUri
- это HTTPS, но Google всегда возвращает HTTP. Я закончил тем, что добавил чтение Пост переполнения стека и добавил OncePerRequestFilter
в свой проект. Так как это Google отправляет это по HTTP, они должны думать, что это безопасно. Не удалось найти способ заставить Google отправить его по HTTPS