在 IBM Cloud CF Java Buildpack 上使用 Spring Boot OAuth 2...
https://github.com/ericis/oauth-cf-https-issue
*我已经尝试了以下所有组合。
使用此配置,应用程序会陷入无限的重定向循环中,OAuth 重定向策略将其发送至http,然后此配置将其发送至https.
http.requiresChannel().anyRequest().requiresSecure()
如果没有这个配置,用户可以通过 http 登录(不需要)。
完整配置:
http.
requiresChannel().anyRequest().requiresSecure().
authorizeRequests().
// allow access to...
antMatchers("favicon.ico", "/login", "/loginFailure", "/oauth2/authorization/ghe")
.permitAll().anyRequest().authenticated().and().oauth2Login().
// Codify "spring.security.oauth2.client.registration/.provider"
clientRegistrationRepository(this.clientRegistrationRepository()).
// setup OAuth2 client service to use clientRegistrationRepository
authorizedClientService(this.authorizedClientService()).
successHandler(this.successHandler()).
// customize login pages
loginPage("/login").failureUrl("/loginFailure").
userInfoEndpoint().
// customize the principal
userService(this.userService());
我也尝试过:
要使用的服务器配置 https
server:
useForwardHeaders: true
tomcat:
protocolHeader: x-forwarded-proto
小程序过滤器
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
天涯尽头无女友
相关分类