在本系列前面的文章中,正常情况下,OAuth2 返回的 access_token 信息一共包含五项:
分别是:
- access_token
- token_type
- refresh_token
- expires_in
- scope
具体如下:
{ "access_token": "b9c9e345-90c9-49f5-80ab-6ce5ed5a07c9", "token_type": "bearer", "refresh_token": "9f843e0e-1778-495d-859a-52a1a806c150", "expires_in": 7199, "scope": "seller-auth"}
但是在实际操作中,我们往往需要在这个基础上,定制自己的返回信息,这就需要我们对这个东西进行自定义。本文松哥就来和大家聊一聊这里要如何自定义。
「敲黑板划重点:」 本文还是我们最近 OAuth2 系列的延续,如果没看过本系列之前的文章,一定先阅读一下,这有助于更好的理解本文:
- 做微服务绕不过的 OAuth2,松哥也来和大家扯一扯
- 这个案例写出来,还怕跟面试官扯不明白 OAuth2 登录流程?
- 死磕 OAuth2,教练我要学全套的!
- OAuth2 令牌还能存入 Redis ?越玩越溜!
- 想让 OAuth2 和 JWT 在一起愉快玩耍?请看松哥的表演
- 最近在做 Spring Cloud 项目,松哥和大家分享一点微服务架构中的安全管理思路
- Spring Boot+OAuth2,一个注解搞定单点登录!
- 分分钟让自己的网站接入 GitHub 第三方登录功能
好了,不废话了,我们来看今天的内容。
1.access_token 从哪里来
首先我们要搞清楚,access_token 从哪里来。
在前面的文章中,我们在生成 access_token 的时候,都配置了一个类,叫做 AuthorizationServerTokenServices,如下:
@BeanAuthorizationServerTokenServices tokenServices() { DefaultTokenServices services = new DefaultTokenServices(); services.setClientDetailsService(clientDetailsService()); services.setSupportRefreshToken(true); services.setTokenStore(tokenStore); TokenEnhan