# OAuth vs Open ID ## Open ID 有一種串聯身分的概念。 假如我要架設一個網站、平台,裡面的功能要有會員才能用,但我又不希望使用者需要額外記帳號密碼,則可以使用Open ID,讓使用者利用"其他平台的帳號"來創建自己的身分。 這樣的好處,是我們不需要記住使用者的密碼等資訊,那些是記在別人家。使用者不必擔心說,某個地方的網站被駭,就要統統換密碼 (畢竟很多人在各個地方都用同一組密碼。) ## OAuth 則是一種鑰匙的概念。 我這個網站、系統、APP,不需要會員的身分,但我**需要使用其他網站、系統上的東西**,所以我必須有**取得那些功能的權限**。 我的這個應用程式、網頁 **(假設是一個加工廠)**,我可能提供數個有支援的 **(擁有材料的)** 其他系統、網站 **(倉庫)**,假如使用者想使用其中一個網站上面的資料、內容,但我們沒有權限 **(倉庫大門的鑰匙)**,那我們會先讓使用者登入系統 **(倉庫)**,選擇我們需要提供的權限給我們 **(材料房的鑰匙,但不給辦公室的鑰匙)**,這樣我們就可以利用材料去幫使用者做他們想要的功能、服務。 **** ## 情境範例 阿誠今天想要使用 Dropbox 的空間,他必須擁有 Dropbox 的帳號,而 Dropbox 提供了直接註冊 or **以Google 帳號註冊** 兩種選項。 很剛好阿誠也已經擁有了 Google 的帳號,他也不想要另外再記一組帳號密碼,所以選擇了後者。 讚讚讚,現在阿誠可以用 Dropbox 會員的身分,去使用空間了~ 可喜可樂! 因為阿誠家裡沒有印表機,所以在家裡傳了一些要印的文件、圖片上去 Dropbox的硬碟空間。 隔天到了研究室,想利用研究室的印表機把那些檔案印出來。 阿誠先下載了印表機的APP,印表機並不需要阿誠辦會員,就可以直接提供功能給阿誠用,真是佛心來著 但是它需要取得阿誠想印的檔案(這個印表機有支援取得 Dropbox 空間的內容) 印表機:Dropbox 把阿誠的檔案列表給我吧 ~ Dropbox:你誰阿你? 我幹嘛給你他的資料? 它資料的大門就在這,你去取得 **鑰匙** 就能拿到資料,我給你 ***登入(註1)的地方及對於鑰匙的要求(註2)**,如果你真的是幫阿誠做事,叫他自己拿鑰匙給你。 印表機:阿誠,Dropbox叫你先登入會員,然後把鑰匙給我,它才讓我幫你做事情。 阿誠:OKOK \>根據註一登入會員 *(Open ID)* \>根據註二上所需要的權限,產生鑰匙 *(OAuth)* 阿誠:安安 印表機 鑰匙在這,去吧去吧 ~ 印表機:Dropbox 鑰匙在這,讓我進去吧 ~ (鑰匙真的可以開門) Dropbox:OK 門打開了,去吧 ~ 接下來,印表機拿著鑰匙去幫阿誠把他要的檔案印出來 ~ *(利用OAuth去做事情)* 阿誠順利的交了作業,可喜可樂 ~ ## 參考資料 OpenID versus OAuth from the user’s perspective (http://cakebaker.42dh.com/2008/04/01/openid-versus-oauth-from-the-users-perspective/) What's the difference between OpenID and OAuth? (https://stackoverflow.com/questions/1087031/whats-the-difference-between-openid-and-oauth) Getting Started (https://oauth.net/getting-started/) 漫談OAuth認證協定與運作流程 (http://cire.pixnet.net/blog/post/30810748-%E6%BC%AB%E8%AB%87oauth%E8%AA%8D%E8%AD%89%E5%8D%94%E5%AE%9A%E8%88%87%E9%81%8B%E4%BD%9C%E6%B5%81%E7%A8%8B) OAuth 2.0 筆記 (1) 世界觀 (https://blog.yorkxin.org/2013/09/30/oauth2-1-introduction.html)
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.