現將開發文檔翻譯出來,由於看英文實在是比較吃力的。 html
首先看下官方的指南Developers Guide,OAuth的兩個版都都有。本文看的是OAuth2的開發指南。 spring
翻譯以下:
服務器
Spring Security OAuth2開發指南(OAuth 2 Developers Guide)
ide
目錄 ui
一、入門(Introduction) spa
二、OAuth2.0提供端(OAuth 2.0 Provider) 翻譯
三、OAuth2.0提供端的實現(OAuth 2.0 Provider Implementation) code
四、受權服務器的配置(Authorization Server Configuration) htm
4.一、配置客戶端詳情(Configuring Client Details) token
4.二、管理Tokens(Managing Tokens)
4.三、受權類型(Grant Types)
4.四、配置端點URL(Configuring the Endpoint URLs)
五、自定義錯誤處理(Customizing the Error Handling)
六、資源服務器配置(Resource Server Configuration)
6.一、配置一個理解oauth表達式處理程序(Configuring An OAuth-Aware Expression Handler)
七、OAuth2.0的客戶端(OAuth 2.0 Client)
7.一、配置受保護的資源(Protected Resource Configuration)
7.二、客戶端的配置(Client Configuration)
7.三、訪問受保護的資源(Accessing Protected Resources)
7.四、持久化客戶端的Tokens(Persisting Tokens in a Client)
八、爲客戶端定製的外部OAuth2提供者(Customizations for Clients of External OAuth2 Providers)
正文
這是支持OAuth2.0的用戶指南。對於OAuth1.0,一切都是不一樣的,因此看它的用戶指南。
本用戶指南分爲兩個部分,第一部分是OAuth2.0提供端(OAuth 2.0 Provider),第二部分是OAuth2.0的客戶端(OAuth 2.0 Client)。
OAuth2.0的提供端的用途是負責將受保護的資源暴露出去。配置包括創建一個能夠訪問受保護的資源的客戶端表明。提供端是經過管理和驗證可用於訪問受保護的資源的OAuth 2令牌來作的。在適當的地方,提供端也必須爲用戶提供一個用於確認客戶端 是否可以訪問受保護的資源的接口(也就是一個頁面或是一個窗口)。
在OAuth 2提供者實際上是分紅受權服務和資源服務兩個角色的,而這兩個角色有時是存在於同一個應用程序中的,經過Spring Security OAuth你能夠有選擇的將它們分裂到兩個應用程序中,也能夠有選擇的給受權服務配置多個資源服務。獲取令牌(Tokens)的請求是由Spring MVC的控制器端點來處理的,訪問受保護的資源是經過標準的Spring Security請求過濾器來處理的。
下面列舉的端點是Spring Security過濾器鏈實現OAuth 2受權服務器必須的端點:
下面過濾器是實現一個OAuth2資源服務器所必須的:
對於全部的OAuth 2.0的提供端,經過使用Spring OAuth專門的@Configuration適配器來簡化配置。也能夠經過XML命名空間來配置OAuth,XML的schema存在:http://www.springframework.org/schema/security/spring-security-oauth2.xsd。命令空間是http://www.springframework.org/schema/security/oauth2
當你在配置受權服務器時,你不得不考慮客戶端用戶獲取訪問令牌的受權類型(例如:authorization code, user credentials, refresh token)。服務器的配置是用來提供客戶端詳情服務和令牌服務的實現,同時也是用於啓用或禁用所有功能中的某些方面。注意,不管如何,每一個客戶端配置了具體的權限才能使用必定的受權機制和受權訪問。即,只是由於你的提供者被配置爲支持「客戶端憑證」受權類型,並不意味着一個特定的客戶端使用的受權類型。
@EnableAuthorizationServer註解是用於配置配置OAuth2.0受權服務器,和一些@Bean實現AuthorizationServerConfigurer(有一個空方法)
先列一個目錄,待續…………e