CAS之5.2x版本之OAuth2.0-yellowcong
为啥,我们可以直接实现cas的登录后,还要搞一下OAuth的配置,这是由于服务中,需要类似与QQ,百度,csdn等服务授权方式,我这几天在搞gerrit,需要结合cas,所以需要这个oauth的认证,cas5.2实现oauth认证的方式,主要有下面几个步骤:1、配置pom.xml,添加
cas-server-support-oauth-webflow
的依赖包,2、配置application.properties
设置当前cas服务器的名称,3、添加json的授权服务,4、添加界面的授权服务,5、测试授权。
代码地址
这里写代码片
1、配置pom.xml
<!-- 开启oauth支持 -->
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-oauth-webflow</artifactId>
<version>${cas.version}</version>
</dependency>
2、配置application.properties
#配置oauth2.0授权服务的信息
#配置授权,需要配置 server name的信息,不然就会跑到
cas.server.name=http://yellowcong.com:${server.port}
cas.server.prefix=$`这里写代码片`{cas.server.name}
3、添加json的服务
创建service-auth-all-1005.json
文件,创建一个授权的服务,来接入服务。其中,每一个授权服务的clientId
和clientSecret
是唯一的,通过serviceId
来过滤访问的服务
{
"@class" : "org.apereo.cas.support.oauth.services.OAuthRegisteredService",
"clientId": "1100660",
"clientSecret": "e65fa828bedf4a0392cf1e005921dab6",
"bypassApprovalPrompt": false,
"generateRefreshToken": false,
"serviceId" : "^(http|https)://*",
"name" : "My OAuth service ",
"id" : 100,
"attributeReleasePolicy" : {
"@class" : "org.apereo.cas.services.ReturnAllAttributeReleasePolicy"
}
}
4、添加界面的service
如果只添加了oauth的服务,没有添加界面的服务,也是会报没有授权服务的错的。
{
"@class": "org.apereo.cas.services.RegexRegisteredService",
"serviceId" : "^(http|https)://*",
"name": "all",
"id": 1005,
"description": "allow all service",
"evaluationOrder": 1005,
"theme":"apereo",
"attributeReleasePolicy": {
"@class": "org.apereo.cas.services.ReturnAllAttributeReleasePolicy"
}
}
5、测试
测试访问授权接口
http://yellowcong.com:8080/oauth2.0/authorize
可以看到访问授权服务的地址,直接就跳转到了目标地址。
常见问题
1、跳转到https://cas.example.org:8443服务器
可以发现,服务莫名其妙的跳转到了cas.example.org:8443的服务器,导致这个问题的原因,就是在application.properties 中,没有配置cas.server.name
和cas.server.prefix
解决办法,在application.properties 中,添加如下配置
#配置oauth2.0授权服务的信息
#配置授权,需要配置 server name的信息,不然就会跑到
cas.server.name=http://yellowcong.com:${server.port}
cas.server.prefix=${cas.server.name}
2、未认证授权的服务
导致服务没有配置的问题,一般都是授权中,没有添加service的json,还有第二种情况,就是json文件中配置有毛病。
参考文章
上一篇: java代码优化方案(Aop处理Token令牌,页面缓存)
下一篇: Robotics System Toolbox学习笔记(五):generalizedInverseKinematics函数及例子
推荐阅读