Spring Security OAuth2 主要兩部分功能:一、生成token,二、驗證token,最大概的流程進行了一次梳理redis
AuthorizationServerSecurityConfigurer 在配置階段 若是容許form表單提交則會通過ClientCredentialsTokenEndpointFilter, 剩下的流程能夠總結爲生成token、存儲token。數據庫
生成token:按類型生成token,類型與oauth2四種類型(密碼、受權碼、客戶端、簡化)模式相對 存儲token: 支持 內存、redis、數據庫、等多種方式post
ResourceSecurityConfigurer在配置階段,對Resource進行配置, OAuth2核心過濾器 OAuth2AuthenticationProcessingFilter, 若是請求中存在token 則進行驗證,若是不存在則不驗證(可是Spring Security會對接口權限進行驗證)。
spa
存在token流程:orm
根據 配置的userInfoEndpointUrl 到 server獲取token的受權信息 OAuthAuthentication。 server
根據返回結果判斷token是否有效(若是返回結果結果中存在error代表訪問限制: 也就是說server對token無效的處理後,必定要返回非 200的http響應Resource才能認定無效)blog