Oauth2认证

  1. 源码分析
    TokenEndpoint
    TokenGranter
    TokenServices

  2. Oauthe2 源码分析

  3. Oauth2 的四种模式无法共存
    相关参考文章

认证服务器同时也是资源服务器的时候,四种授权模式不能共生(我出现的是添加上资源服务器,授权码模式无效,implicit简单模式,password模式和client credentials模式有效;认证服务器不做为资源服务器的时候四种授权模式都可以生效)
存储的secret和用户密码都必须BCEncrypt加密;
资源服务器和认证服务器分离后,配置resource.id无效;

  1. WebSecurity 和 ResourceServer 路径拦截配置规则以及优先级

  2. springboot 查看过滤器链 (webSecurity与httpSecurity的区别)
    WebSecurity 类中的 performBuild() 方法 securityFilterChains 显示拦截的路径对应的过滤器链。

	@Override
	protected Filter performBuild() throws Exception {
		 ....
		for (RequestMatcher ignoredRequest : ignoredRequests) {
			securityFilterChains.add(new DefaultSecurityFilterChain(ignoredRequest));
		}
		for (SecurityBuilder<? extends SecurityFilterChain> securityFilterChainBuilder : securityFilterChainBuilders) {
			securityFilterChains.add(securityFilterChainBuilder.build());
		}
		FilterChainProxy filterChainProxy = new FilterChainProxy(securityFilterChains);
		......
	}

	/**
	 根据配置的httpSecurity 来初始化。
	*/
	public WebSecurity addSecurityFilterChainBuilder(
			SecurityBuilder<? extends SecurityFilterChain> securityFilterChainBuilder) {
		this.securityFilterChainBuilders.add(securityFilterChainBuilder);
		return this;
	}

你可能感兴趣的:(文章链接)