CAS3.5.2 Server 集成 OAuth2.0 Server 详细介绍
2016-11-21 14:26
501 查看
转载自 http://blog.yoodb.com/yoodb/article/detail/1226
OAuth2.0是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储用户信息,而无需将用户名和密码提供给第三方应用,CAS3.5.x(x>1)提供了OAuth2.0的支持,包括客户端和服务端,依赖cas-server-support-oauth.jar包。
CAS默认提供了三个服务:
/oauth2.0/authorize
需要输入GET参数:client_id和redirect_uri
/oauth2.0/accessToken
需要输入GET参数:client_id,redirect_uri,client_secret和代码
/oauth2.0/profile
需要输入GET参数:access_token
关于CAS3.5.x Server版本接入oauth2.0 Server配置步骤,下面为本站素文宅www.yoodb.com大家分享一下个人总结,仅供大家参考学习使用。
1、将cas-server-support-oauth工程引入cas-server-webapp项目中,通过pom.xml文件,增加内容如下:
2、配置应用获得client_id和client_secret
在QQ、新浪等使用第三方登录中,通常提供页面供用户申请应用,然后提供用户client_id和client_secret,并允许用户配置回调地址,那么oauth2.0 server考虑的就是需要持久化这些配置,CAS默认在文件deployerConfigContext.xml的serviceRegistryDao中配置应用服务,注意实际使用可以将申请的应用信息存储在数据库中,具体配置如下:
如上述代码所示,新注册了两个bean,第一个bean不需要考虑那是默认存在的bean,如果想了解参考地址:bean http://www.yoodb.com/article/display/1223,我们新增的第二个bean中,name为client_id,description为client_secret,serviceId为回调地址,theme为应用名称,下面为大家说说第一个bean的用法及其用途。
3、 Oauth client构造url获得authorization_code(ST票据)
1)cas server对/oauth2.0/authorize的url进行拦截处理,需要配置映射,在web.xml中增加配置信息如下:
<servlet-mapping>
<servlet-name>cas</servlet-name>
<url-pattern>/oauth2.0/*</url-pattern>
</servlet-mapping>
2)在cas-servlet.xml配置文件,增加内容如下:
配置完成后,我们获取授权码的链接会转向login页面,此时的service地址就是第二步时新增的bean配置的第一个bean的serviceId,通过这个默认提供的地址间接的获取到ST票据,具体请求如下:
CAS Server在浏览器中打开地址:
将会跳转到地址:
,从而间接的获取到ST票据。认证成功之后,就会携带值为ST票据的参数跳转到callbackAuthorize页面,此时生成的ST即为授权码,其中回调地址、服务名称是通过session传递过来的,注意到浏览器地址变为如下:
默认授权码只能使用一次且有效时间为10s,可以参考http://www.yoodb.com/article/display/1225文章,通过修改票据过期策略进行配置时间。
4、通过ST票据授权码获得access_token
在浏览器中输入如下地址:
返回access_token信息如下:
5、根据access_token获取用户信息
在浏览器中输入如下地址:
根据access_token等到的返回用户信息如下:
通过上述描述CAS3.5.x Server认证成功之后生成ST,此值即为授权码,传递给应用的回调地址即可,OAuth2的实现并不是很标准,对于CAS3.5.x Server版本需要扩展org.jasig.cas.support.oauth.web.OAuth20WrapperController类来进一步完善oauth2.0协议。
转载自 http://blog.yoodb.com/yoodb/article/detail/1226
OAuth2.0是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储用户信息,而无需将用户名和密码提供给第三方应用,CAS3.5.x(x>1)提供了OAuth2.0的支持,包括客户端和服务端,依赖cas-server-support-oauth.jar包。
CAS默认提供了三个服务:
/oauth2.0/authorize
需要输入GET参数:client_id和redirect_uri
/oauth2.0/accessToken
需要输入GET参数:client_id,redirect_uri,client_secret和代码
/oauth2.0/profile
需要输入GET参数:access_token
关于CAS3.5.x Server版本接入oauth2.0 Server配置步骤,下面为本站素文宅www.yoodb.com大家分享一下个人总结,仅供大家参考学习使用。
1、将cas-server-support-oauth工程引入cas-server-webapp项目中,通过pom.xml文件,增加内容如下:
在QQ、新浪等使用第三方登录中,通常提供页面供用户申请应用,然后提供用户client_id和client_secret,并允许用户配置回调地址,那么oauth2.0 server考虑的就是需要持久化这些配置,CAS默认在文件deployerConfigContext.xml的serviceRegistryDao中配置应用服务,注意实际使用可以将申请的应用信息存储在数据库中,具体配置如下:
3、 Oauth client构造url获得authorization_code(ST票据)
1)cas server对/oauth2.0/authorize的url进行拦截处理,需要配置映射,在web.xml中增加配置信息如下:
<servlet-mapping>
<servlet-name>cas</servlet-name>
<url-pattern>/oauth2.0/*</url-pattern>
</servlet-mapping>
2)在cas-servlet.xml配置文件,增加内容如下:
CAS Server在浏览器中打开地址:
4、通过ST票据授权码获得access_token
在浏览器中输入如下地址:
在浏览器中输入如下地址:
转载自 http://blog.yoodb.com/yoodb/article/detail/1226
相关文章推荐
- CAS3.5.2 Server登录后返回用户信息详细解决方案
- BizTalk Server 2010新功能介绍(七):AppFabric的集成
- SharePoint 2013集成Office web apps server2013详细的安装和部署
- PHP 中$_SERVER 详细介绍
- Android测试教程13--模拟服务器MockServer之Moco详细介绍
- Tomcat中server.xml文件详细配置介绍
- *Server对象的URLEncode方法的详细介绍 *
- CAS(3)——Cas Server中各配置文件介绍
- Cas Server中各配置文件介绍
- IDEA、Eclipse的详细安装配置及Tomcat服务集成介绍
- IOS持续集成-详细介绍-2016
- GIS Tools for Hadoop 详细介绍(ArcGIS与Hadoop集成)
- cas server + cas client 单点登录 原理介绍
- Spring Security 3和CAS 3.5.2集成的完整实例
- spring 集成memcached的详细介绍
- tomcat服务器server.xml详细介绍
- cas server 3.5.2 环境搭建
- Cas(03)——Cas Server中各配置文件介绍
- <学习笔记>cas server + cas client 单点登录 原理介绍
- [置顶] 程序员软件开发最好的IDE集成工具eclipse各个版本的详细介绍。详细介绍,送给初学者的朋友