當(dāng)前位置:首頁 > 高等教育 > 圖文 >

oauth2認證的4種模式

夏天 發(fā)布時間:2023-06-21 22:59:28

oauth2認證的4種模式分別是:授權(quán)碼模式、隱式授權(quán)模式/簡化模式、密碼模式、客戶端憑證模式。OAuth2是開放授權(quán)的一個標準,允許用戶授權(quán)B應(yīng)用不提供帳號密碼的方式去訪問該用戶在A應(yīng)用服務(wù)器上的某些特定資源。
oauth2認證的4種模式

oauth2認證的4種模式介紹


一、授權(quán)碼模式

授權(quán)碼模式(authorization code)是功能最完整、流程最嚴密的授權(quán)模式,code保證了token的安全性,即使code被攔截,由于沒有app_secret,也是無法通過code獲得token的。在授權(quán)碼模式中,存在如下四種角色:

1、資源所有者:只需要允許或拒絕第三方應(yīng)用獲得授權(quán);

2、第三方應(yīng)用:申請成為資源服務(wù)器的第三方應(yīng)用,獲取資源服務(wù)器提供的資源;

3、授權(quán)服務(wù)器:提供授權(quán)許可code、令牌token等;

4、資源服務(wù)器:提供給第三方應(yīng)用注冊接口,需要提供給第三方應(yīng)用app_id和app_secret,提供給第三方應(yīng)用開放資源的接口。
 

二、隱式授權(quán)模式/簡化模式

和授權(quán)碼模式類似,只不過少了獲取code的步驟,是直接獲取令牌token的,適用于公開的瀏覽器單頁應(yīng)用,令牌直接從授權(quán)服務(wù)器返回,不支持刷新令牌,且沒有code安全保證,令牌容易因為被攔截竊聽而泄露。
 

三、密碼模式

密碼模式是用戶直接將自己的用戶名密碼交給client,client用用戶的用戶名密碼直接換取AccessToken。這種模式十分簡單,但是卻意味著直接將用戶敏感信息泄漏給了client,因此這就說明這種模式只能用于client是我們自己開發(fā)的情況下。也就是說,密碼模式一般用于我們自己開發(fā)的,第一方原生App或第一方單頁面應(yīng)用。
 

四、客戶端憑證模式

這是一種最簡單的模式,只要client請求,我們就將AccessToken發(fā)送給它。同時,這種模式也是最不安全的模式,這就要求我們對client完全的信任,而client本身也是安全的。因此,這種模式一般用來提供給我們完全信任的服務(wù)器端服務(wù)。在這個過程中不需要用戶的參與。

 

最新知識

TOP10

周榜 月榜