1. 授权服务器

image.png

  1. Authorize Endpoint: 授权端点,进行授权
  2. Token Endpoint: 令牌端点,进行授权并拿到对应的Token
  3. Introspection Endpoint:校验端点,校验Token的合法性
  4. Revocation Endpoint: 撤销端点,撤销授权

2. Spring Security OAuth2架构

image.png

流程:

  1. 用户访问,此时没有Token。OAuth2RestTemplate会报错,这个错误会被OAuth2ClientContextFilter捕获并重定向到认证服务器(Authorization Server);
  2. 认证服务器通过Authorization Endpoint 进行授权,并通过AuthorizationServerTokenServices生成授权码并返回给客户端;
  3. 客户端拿到授权码,区认证服务器通过Token Endpoint调用AuthorizationServerTokenServices生成Token并返回给客户端;
  4. 客户端拿到Token去资源服务器访问资源,一般会通过OAuth2AuthenticationManager调用ResourceServerTokenServices进行校验;校验通过可以获取资源。