目录
https://spring.io/guides/tutorials/spring-boot-oauth2/
OAuth协议定义的比较宽泛,所以会有具体的协议实现,比如OpenID Certified(有的平台简称oidc)
1. 在github上添加授权应用
同其他OAuth认证服务器操作一样。
有一点需要注意,默认的重定向回来地址是**{baseUrl}/login/oauth2/code/{registrationId}** ,registrationId定义在ClientRegistration类中
2. 创建Spring boot应用
2.1. 初始化项目
$ mkdir ui && cd ui
$ curl https://start.spring.io/starter.tgz -d style=web -d name=simple | tar -xzvf -
2.2. 添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>
2.3. 添加配置信息
application.yml
spring:
security:
oauth2:
client:
registration:
github:
clientId: github-client-id
clientSecret: github-client-secret
# ...
默认情况下,
-
我们应用的登录的请求路径为 /oauth2/authorization/{registration}
如/oauth2/authorization/github
2.4. 地址访问权限控制
示例为允许访问"/", “/error”, “/webjars/**” ,其他都需要授权范围
@SpringBootApplication
@RestController
public class SocialApplication extends WebSecurityConfigurerAdapter {
// ...
@Override
protected v