spring security oauth2 令牌生成源碼解析

spring security oauth2 令牌生成流程爲(藍色字體爲類,紅色字體爲接口):

/oauth/token/請求  --> TokenEndpoint -->  ClientDetailsService(InMemoryClientDetailsService) --> ClientDetails --> TokenRequest --> TokenGraner(CompositeTokenGranter) --> Oauth2Request + Authentication -->Oauth2Authentication -->  AuthorizationServerTokenServices(DefaultTokenServices)-->OAuth2AccessToken 

說明:

TokenEndpoint:  簡單來說 TokenEndpoint 如同Controller 一樣 監聽/oauth/token/ 

ClientDetailsService(InMemoryClientDetailsService):  這個service就是獲取當前請求的第三方,clientId 和 secret

ClientDetails:  由TokenEndpoint創建 放入第三方信息

TokenRequest : 由TokenEndpoint創建 放入其他請求信息

TokenGraner(CompositeTokenGranter) : 這裏面封裝了4種授權模式,看請求的參數使用哪種授權模式

Oauth2Request: 這TokenGraner創建 是ClientDetails 和 TokenRequest  的信息整合

Authentication : 這裏就是封裝好授權的用戶(由Security的UserDetailService 獲取的)

Oauth2Authentication : Oauth2RequestAuthentication 組合成的,把之前的信息封裝好:是哪個第三方,然後是哪個用戶授權,用的是哪個授權模式,授權的參數是什麼

AuthorizationServerTokenServices(DefaultTokenServices): 根據Oauth2Authentication生成令牌   方法:TokenStroe(設置令牌的存取) TokenEnhancer(令牌的增強器,往令牌加東西)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章