代码拉取完成,页面将自动刷新
同步操作将从 knowz/springboot2-oauth2 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
@Configuration
@EnableAuthorizationServer
public class ServerConfig extends AuthorizationServerConfigurerAdapter {
@Autowired
private AuthenticationManager authenticationManager;
@Autowired
RedisConnectionFactory redisConnectionFactory;
@Override
public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {
// 配置token获取和验证时的策略
security.tokenKeyAccess("permitAll()").checkTokenAccess("isAuthenticated()");
}
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients.inMemory()
.withClient("client")
// secret密码配置从 Spring Security 5.0开始必须以 {加密方式}+加密后的密码 这种格式填写
/*
* 当前版本5新增支持加密方式:
* bcrypt - BCryptPasswordEncoder (Also used for encoding)
* ldap - LdapShaPasswordEncoder
* MD4 - Md4PasswordEncoder
* MD5 - new MessageDigestPasswordEncoder("MD5")
* noop - NoOpPasswordEncoder
* pbkdf2 - Pbkdf2PasswordEncoder
* scrypt - SCryptPasswordEncoder
* SHA-1 - new MessageDigestPasswordEncoder("SHA-1")
* SHA-256 - new MessageDigestPasswordEncoder("SHA-256")
* sha256 - StandardPasswordEncoder
*/
.secret("{noop}secret")
.scopes("all")
.authorizedGrantTypes("authorization_code", "password", "refresh_token")
.autoApprove(true);
}
2.在postman中输入获取token的地址
3.访问资源服务器的接口,有两种方式
1)作为参数传给后端资源服务器:access_token=68d4a48d-91a3-4e20-9198-cb2b258e9a14
2)作为请求头传给后端资源服务器:
4.刷新access_token的方式
5.退出登录
@Autowired
@Qualifier("consumerTokenServices")
ConsumerTokenServices tokenServices;
@RequestMapping(value = "/auth/logout", method = POST)
@ResponseBody
public String logout(HttpServletRequest request) {
// 从请求头获取前端传过来的token,格式:token_type access_token
String token = request.getHeader("Authorization");
// 获取access_token
token = token.split(" ")[1];
// 移除token,使得用户退出登录
if(tokenServices.revokeToken(token)) {
return "success";
}
return "failed";
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。