1. 程式人生 > 其它 >OAuth 2.0協議中為什麼要引入授權碼

OAuth 2.0協議中為什麼要引入授權碼

時間:2021/10/22

一.問題引入

OAuth 2.0作為一個web端的授權協議,考慮到不同的應用場景,它提供了四種授權模式,其中安全性最高的是授權碼模式,如下圖所示:

對於另一種模式簡化模式而言,它省略了其中授權碼的部分,在使用者授權之後直接傳給客戶端令牌,如下圖所示:

這引發了一個疑問,授權碼的作用究竟是什麼,為什麼不直接返回令牌?

二.解釋

由於在簡化模式的步驟C中令牌是通過重定向url傳遞給使用者代理的,所以該使用者代理上的所有應用其實都能看到該令牌,這就會引發安全問題。而在授權碼模式中,由於授權碼具有隻能使用一次的特性(即使用完後就作廢),而且使用時還需要客戶端的祕密,所以可以很好的保證安全性,這也是引入授權碼的原因。

參考博文:https://www.jianshu.com/p/f2aebfcf8cb4?utm_campaign=haruki

努力,向上,自律