Spring Security OAuth学习笔记(一)(原创)
Spring Security OAuth项目是Spring对OAuth协议实现的一个开源项目。提供 OAuth providers和OAuth consumers的实现。以下是个人的学习笔记仅供参考。
OAuth协议相关的参考资料:
http://wenku.baidu.com/view/b37ed7260722192e4536f66e.html(Oauth2.0)
http://netment.iteye.com/blog/945402
Spring Security OAuth相关的参考资料:
http://static.springsource.org/spring-security/oauth/(官网)
http://www.springsource.org/spring-security-oauth(官网)
https://github.com/SpringSource/spring-security-oauth/wiki/oauth2(用户指南)
https://github.com/SpringSource/spring-security-oauth/(下载)
第三方平台实现的参考资料:
http://open.weibo.com/wiki/Oauth2(新浪)
http://wiki.dev.renren.com/wiki/Authentication(人人)
Spring Security OAuth配置
关于OAuth for Spring Security 的配置可以参考官方源码包中提供的 OAuth1.0和OAuth2.0的例子。
当前我所使用的版本:SpringSource-spring-security-oauth-1.0.0.M5-47-g324fb78.zip
可以根据我提供的参考资料链接地址下载相关版本。
Spring Security OAuth的配置详解可以参考官网给出的用户指南。
服务端配置(Provider)
一、过滤链配置
客户端(consumer)获取访问票据(Access Token)时会验证客户端的合法性。
认证管理器配置:clientAuthenticationManager
{@link ClientDetailsUserDetailsService}。
该过滤链会拦截所有资源,最主要过滤的有两部分资源:
1、授权码(Authorization Code): /oauth/authorize
2、开放的服务接口(Rest API)
此处与官网源码提供的例子有不同之处,加入Jasig CAS作为认证入口,可以忽略不计。
二、认证管理器配置
clientAuthenticationManager:验证客户端(consumer)的合法性。
authenticationManager:验证最终用户(End-User)的合法性。
三、Tokens管理
@{link AuthorizationServerTokenServices}:接口定义了一些对Tokens(access token) 的管理方法(创建、刷新).
@{link RandomValueTokenServices}: 采用随机生成的方式;
@{link InMemoryTokenStore}: 采用基于内存的方式存储.
四、服务端的验证与授权流程(方式)
Spring Security OAuth实现了OAuth协议规范中定义的以下几种方式。
Authentication Code,又称Web Server Flow,适用于所有有Server端配合的应用和无Server端应用 Implicit Grant,又称User-Agent Flow,适用于所有无Server端配合的应用(桌面客户端需要内嵌浏览器) Client Credentials,即采用应用公钥、密钥获取Access Token,适用于任何类型应用。 Refresh Token,即令牌刷新方式,适用于所有有Server端配合的应用 用户名密码流程(协议中Resource Owner Password Credentials Flow)。此流程适用于无法使用浏览器发起服务端和客户端验流程的应用。 |
五、配置服务端受保护的资源
六、Clients管理
预先注册的客户端(consumer)相关配置信息,然后颁发给每一个客户端。
客户端配置(Consumer)
可以参考官方用户指南:
https://github.com/SpringSource/spring-security-oauth/wiki/oauth2(用户指南)
相关推荐
Spring Security OAuth2.0学习笔记 什么是认证、授权、会话。 Java Servlet为支持http会话做了哪些事儿。 基于session认证机制的运作流程。 基于token认证机制的运作流程。 理解Spring Security的工作原理,Spring ...
主要介绍了Spring Security OAuth2集成短信验证码登录以及第三方登录,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Spring boot+Spring Security Oauth2.0,Sprint cloud+Spring Security Oauth2集成。四种认证方式。附带有代码,和案例,案例,还有视频链接。我保证看完就回,如果视频链接失效,评论回复我,我单独再给你一份。
从官网下载的oauth2实例sparklr2与tonr2
赠送jar包:spring-security-oauth2-2.3.5.RELEASE.jar; 赠送原API文档:spring-security-oauth2-2.3.5.RELEASE-javadoc.jar; 赠送源代码:spring-security-oauth2-2.3.5.RELEASE-sources.jar; 赠送Maven依赖信息...
主要介绍了Spring Security OAuth2认证授权示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
spring security oauth2.0 需要的基础 sql 文件
spring security 基于oauth 2.0 实现 sso 单点登录Demo 使用 spring security 基于oauth 2.0 实现 sso 单点登录Demo spring boot + spring security + spring security oauth
spring security oauth2的源码,方便研究,备份一下。
视频配套笔记_Spring Security OAuth2.0认证授权_v1.1 完整详细 pdf无障碍阅读,代码完整可复制
Spring Security OAuth2.0 MySQL ##修改数据库配置 修改defender-oauth2-authorization\src\main\resources\application.properties中MySQL的主机配置 修改defender-oauth2-resource\src\main\...
项目中使用到的技术包含SpringBoot、SpringSecurity&oauth2(安全资源和授权中心模式、包括登录接口自定义返回字段、自定义手机号+密码登录、自定义免密登录)、Queue队列、线程池、xss攻击配置、SpringCache、Mybatis...
spring security 整合oauth2,进行权限授权管理,例子简单好用。
Spring Security OAuth 笔记.doc
该资源是springsecurity+oauth2+jwt实现的单点登录demo,模式为授权码模式,实现自定义登录页面和自定义授权页面。应用数据存在内存中或者存在数据库中(附带数据库表结构),token存储分为数据库或者Redis。demo...
spring-boot spring-security-oauth2 完整demo,可以使用微信的方式来获取token和查看资源,注意看代码中的备注
教程视频:spring提供的安全权限框架,Spring Security、Spring Social 、Spring Security OAuth
该资源实现了一个sso单点登陆的功能,类似于在淘宝网登陆之后可以不需要登陆天猫即可访问天猫网;使用了spring security oauth2以及jwt。
本教程是全网最细致地讲解Spring Security、Spring Social 、Spring Security OAuth三种技术开发安全的REST服务,彻底掌握一线互联网公司主流的身份认证和授权方式。 Spring Security是一个能够为基于Spring的企业...
Springboot整合Spring security+Oauth2+JWT搭建认证服务器,网关,微服务之间权限认证及授权