CAS單點登入 開啟OAuth2 0協議(七)

2022-05-28 22:24:25 字數 1473 閱讀 3158

<

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...