<dependency
>
<
groupid
>org.apereo.cas
groupid
>
<
artifactid
>cas-server-support-oauth-webflow
artifactid
>
<
version
>$
version
>
dependency
>
### cas_service
#cas.server.name=
cas.server.prefix=$
### oauth
#cas.authn.oauth.refreshtoken.timetokillinseconds=2592000
cas.authn.oauth.code.timetokillinseconds=30
cas.authn.oauth.code.numberofuses=1
cas.authn.oauth.accesstoken.releaseprotocolattributes=true
cas.authn.oauth.accesstoken.timetokillinseconds=7200
cas.authn.oauth.accesstoken.maxtimetoliveinseconds=28800
cas.authn.oauth.grants.resourceowner.requireserviceheader=true
cas.authn.oauth.userprofileviewtype=nested
這裡的serviceid是通過請求過來的url中的redirect_uri來進行限制的。
啟用oauth支援後,將提供以下端點:
端點描述
方法型別
/oauth2.0/authorize
獲取authcode或者token
get/oauth2.0/accesstoken,/oauth2.0/token
獲取accesstoken
post
/oauth2.0/profile
通過access_token引數獲取使用者資訊
getclient_id:為之前service中的值
2.根據authcode獲取accesstoken
請求url,獲取響應:access_token=at-1-trygjkhonocqc5m-rkfef3zrdbrznug-&expires_in=28800
3.根據accersstoken獲取使用者資訊
請求url,獲取響應如下:
,"id" : "admin",
"client_id" : "abc"}
參考:
SSO 單點登入CAS與OAuth2
在系統開發初期,系統很少,每個系統都有自己的登入模組,使用者直接使用自己的賬號進行登入即可。但當功能不斷完善,為了合理利用資源並降低耦合性,往往需要將單系統拆分為多個子系統。以阿里系的 為例,乙個 背後有眾多的子系統,使用者的一次交易或操作往往可能需要十多甚至幾十個子系統的協作,如果每個子系統都需要...
OAuth2 單點登入
簡介 oauth open authorization 是乙個開放標準,允許使用者授權第三方應用訪問他們儲存在另外的服務提供者上的資訊,而不需要將使用者名稱和密碼提供給第三方應用。oauth2是oauth協議的延續版本,oauth1已經被廢棄,現在oauth2是用於授權的行業標準協議。1.四個角色 ...
CAS的單點登入和oauth2的最大區別
cas的單點登入時保障客戶端的使用者資源的安全 oauth2則是保障服務端的使用者資源的安全 cas客戶端要獲取的最終資訊是,這個使用者到底有沒有許可權訪問我 cas客戶端 的資源。oauth2獲取的最終資訊是,我 oauth2服務提供方 的使用者的資源到底能不能讓你 oauth2的客戶端 訪問 c...