现将开发文档翻译出来,由于看英文实在是比较吃力的。 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