如何解决如何使用Spring Boot通过OAuth2协议登录用户?
我使用Spring Boot 2.2.4,我想通过OAuth2协议和GitHub登录到我的应用程序。
application.properties文件
spring.security.oauth2.client.registration.github.client-id=[my client id]
spring.security.oauth2.client.registration.github.client-secret=[my client secret]
spring.security.oauth2.client.registration.github.redirect-uri=http://[host ip]:8080/login_success
Spring Security配置类
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/test")
.authenticated()
.anyRequest().permitAll()
.and()
.oauth2Login();
}
}
示例控制器类
@RestController
public class SampleController {
@GetMapping("/")
public String home() {
return "Home";
}
@GetMapping("/login_success")
public String loginSuccessMethod() {
return "Login success";
}
@GetMapping("/user")
public OAuth2User user(@AuthenticationPrincipal OAuth2User principal) {
return principal;
}
@GetMapping("/test")
public String testMethod() {
return "Test method";
}
}
问题描述:
解决方法
问题解决了。我在GitHub和application.properties文件上键入了错误的重定向uri值。正确的值为http:// [host ip]:8080 / login / oauth2 / code / github
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。