一 代码位置
https://github.com/cakin24/oauth2-demo/tree/master/client-credentials
二 参考文章
http://www.spring4all.com/article/451
三 获取token方式
http://localhost:8080/oauth/token?client_id=client_1&client_secret=123456&scope=select&grant_type=client_credentials
四 关键类
-
ClientCredentialsTokenEndpointFilter:客户端身份认证核心过滤器
-
AuthenticationManager:顶级身份管理者
-
ProviderManager:顶级身份管理器AuthenticationManager去进行身份认证(AuthenticationManager的实现类一般是ProviderManager)。
-
AuthenticationProvider:ProviderManager内部维护了一个List<AuthenticationProvider>,真正的身份认证是由一系列AuthenticationProvider去完成。