CAS 4.X 开启OAuth2.0协议
官网的内容已经关闭,这里留存记录。
首先这个是基于cas4.1.7版本,原则上4.x都可以,这个与5.x和现在的6.x有很大区别。
1.基础配置
cas.serverName=http://demo.cn/cas
cas.casServerLoginUrl=http://demo.cn/cas/login
2.pom文件引入oauth
<dependency> <groupId>org.jasig.cas</groupId> <artifactId>cas-server-support-oauth</artifactId> <version>${project.version}</version> </dependency>
3.cas-servlet.xml新增配置
<bean id="oauth20WrapperController" class="org.jasig.cas.support.oauth.web.OAuth20WrapperController" p:loginUrl="http://demo.cn/cas/login" p:servicesManager-ref="servicesManager" p:ticketRegistry-ref="ticketRegistry" p:timeout="7200" />
4.web.xml
<servlet-mapping> <servlet-name>cas</servlet-name> <url-pattern>/oauth2.0/*</url-pattern> </servlet-mapping>
5.cas-server-webapp新增service json文件
{ "@class" : "org.jasig.cas.support.oauth.services.OAuthRegisteredService", "clientId": "key", "clientSecret": "secret", "bypassApprovalPrompt": false, "serviceId" : "^http://demo2.cn", "name" : "Oauth", "id" : 10000005 }

/oauth2.0/accessToken grant_type=authorization_code&client_id=ID&client_secret=SECRET
&code=CODE&redirect_uri=CALLBACK 传统模式根据authCode获取accesstoken
/oauth2.0/accessToken grant_type=password&client_id=ID&client_secret=SECRET
&username=USERNAME&password=PASSWORD 返回accessToken
/oauth2.0/accessToken grant_type=client_credentials&client_id=client&client_secret=secret 返回accessToken
/oauth2.0/accessToken grant_type=refresh_token&client_id=ID&client_secret=SECRET
&refresh_token=REFRESH_TOKEN 刷新之后返回新的accessToken
https://blog.csdn.net/weixin_42073629/article/details/107650970

浙公网安备 33010602011771号