oauth官网
application.properties
# 自定义认证服务器id
security.oauth2.client.client-id= zhupengwei
security.oauth2.client.clientSecret=zhupengwei
/**
* 自定义用户逻辑
* Created by ZhuPengWei on 2017/11/27.
*/
@Component
public class MyUserDetailService implements UserDetailsService, SocialUserDetailsService {
/**
* 日志处理类
*/
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private PasswordEncoder passwordEncoder;
/**
* 根据用户名加载用户信息
*
* @param username 用户名
* @return UserDetails
* @throws UsernameNotFoundException
*/
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
logger.info("表单登录用户名:" + username);
return buildUser(username);
}
@Override
public SocialUserDetails loadUserByUserId(String userId) throws UsernameNotFoundException {
logger.info("社交登陆用户id" + userId);
return buildUser(userId);
}
private SocialUserDetails buildUser(String userId) {
//根据用户名称查找用户信息
//根据查找到的用户信息判断用户是否被冻结
String password = passwordEncoder.encode("123456");
logger.info("数据库密码是:" + password);
return new SocialUser(
userId,
password,
true,
true,
true,
true,
AuthorityUtils.commaSeparatedStringToAuthorityList("admin,ROLE_USER"));
}
}
配置完成之后跳过去会带着授权码
授权码模式 post请求
密码模式
配置资源服务器
/**
* Created by ZhuPengWei on 2017/12/24.
*/
@Configuration
@EnableResourceServer
public class SpringResourceServerConfig {
}