OAuth 2.0 是什麼?

OAuth 2.0 是什麼?

更新於 發佈於 閱讀時間約 2 分鐘

OAuth 2.0 是一個開放標準,允許user授權第三方應用存取該user的私有資料,而無需提供帳密資料給第三方應用。

例如Facebook的graph API就是使用OAuth 2.0,例如我開發了一個網站,提供了user使用FB登入的功能,我的網站必須轉址到FB提供的Authorization Server,讓user輸入他的FB帳密,接著詢問user是否同意授權,user同意後,我的網站就能拿到access token,有了這個東西,我就可以存取user的FB資料了。

有發現了嗎? 我的網站(第三方網站)並不知道user的FB帳密,但是卻可以存取他的FB資料,這就是OAuth存在的意義。

使用token跟使用帳密存取,乍看之下都可以達到目的,但其實是有差異的:
1. token是有時效性的,到期會自動失效。
2. user有權可以隨時取消這個token。
3. token是有scope限制的,視user同意的scope而定,例如只能存取塗鴉牆的po文資料,不能存取相簿資料。


本筆記參考:
1. http://www.ruanyifeng.com/blog/2019/04/oauth_design.html
2. https://deepzz.com/post/what-is-oauth2-protocol.html

avatar-img
Vic Lin的沙龍
21會員
161內容數
留言
avatar-img
留言分享你的想法!
Vic Lin的沙龍 的其他內容
想從javascript拿到不同源的資料,除了上一篇介紹的CORS,其實還有一個東西叫JSOP,是指透過script tag src的方式繞過同源政策來實現cross origin。
Cross-Origin Resource Sharing 簡稱 CORS,中文為跨來源資源共享。 上一篇提到web瀏覽器有同源政策的限制,而CORS則是一種安全確認機制,讓瀏覽器和伺服器之間能確保安全的進行cross origin資源共享,即若伺服器同意,即可達成跨來源資源共享。
同源政策是瀏覽器基於安全性考量而存在的一個政策,針對瀏覽器指令碼的限制。
REST全名為Representational State Transfer,它是一種軟體架構風格,不是一種標準。 以REST架構設計的系統就可以稱為 RESTful,就像是美麗 (Beauty) 的事物可以稱為 Beautiful。
ORM 中文為「物件關聯對映」,是一種介於程式與DB中間的程式設計技術,將程式語言轉換成SQL語言來對DB做操作。
想從javascript拿到不同源的資料,除了上一篇介紹的CORS,其實還有一個東西叫JSOP,是指透過script tag src的方式繞過同源政策來實現cross origin。
Cross-Origin Resource Sharing 簡稱 CORS,中文為跨來源資源共享。 上一篇提到web瀏覽器有同源政策的限制,而CORS則是一種安全確認機制,讓瀏覽器和伺服器之間能確保安全的進行cross origin資源共享,即若伺服器同意,即可達成跨來源資源共享。
同源政策是瀏覽器基於安全性考量而存在的一個政策,針對瀏覽器指令碼的限制。
REST全名為Representational State Transfer,它是一種軟體架構風格,不是一種標準。 以REST架構設計的系統就可以稱為 RESTful,就像是美麗 (Beauty) 的事物可以稱為 Beautiful。
ORM 中文為「物件關聯對映」,是一種介於程式與DB中間的程式設計技術,將程式語言轉換成SQL語言來對DB做操作。