[YC的小教室時間] Line、Facebook等帳號是怎麼驗證的呢?

前情提要
大家好,刷一波存在感... 我是YC 身為一個資工系的學生 遇到資訊領域的問題 在回覆問題的同時,帶上一些的小知識 是我們所能做到,能辦到的 今天在這邊針對這個問題作出回答 也希望能拋磚引玉,讓我們的 Dcard 校版 能出現越來越多的 U質文章 也希望大家在看文章的同時 不要忘記留下愛心或者小小的回應 給予發文者一些回饋 一同提升發文的風氣吧! -------------注意--------------------------- 本篇為了降低難度,減少術語之使用 部分內容用詞略為不精準 還請多包涵勿開嗆 -------------感謝你的注意------------- -------------以下正文開始------------- 不知道在座的各位有沒有常常看到 ▼ 這個東西
▼ 或者這個東西
沒錯! 這東西就是我們的社群帳號登入啦 ~ (不用自己寫登入維護帳號、順便拿個資,好用怎麼不用呢? www) 不知道各位有沒有想過這到底是怎麼辦到的呢? 就讓我帶著各位概覽一下登入的基本吧 (session based 的登入方式這邊先略過 倘若有興趣的話回文告訴我找時間我再來撰文) 我們常見的這類第三方登入,用的方式叫做 OAuth 以現在來說已經大量在使用 OAuth 2.0 了 ▼ 他的運作方式長這樣
我想這張圖,沒人想看 一般人沒事應該看不懂 所以我換個方式來舉例 ▼ 好懂多了吧? 你說是吧? 是吧? ( ՞ټ՞)
就像我們日常生活一樣 (A) 一開始帶著身份證去銀行,跟他說我要辦張信用卡 (B) 辦卡成功後銀行就給了一張信用卡,可以開心消費開心玩囉 (C)(E) 接著買東西的時候把信用卡遞給商店, 商店就會跟發卡銀行連線,確認額度以及這筆交易是否可以刷成功 (D) 如果成功了,就可以順利的取得商品 (F) 如果失敗了,得到原因(可能是卡片過期) (G) 假設卡片過期,帶著身份證跟原本信用卡到銀行去 (H) 銀行給了新的信用卡,繼續刷爽爽囉~ 那麼... 我們把問題拉回到 LINE 就會變成這樣 ▼ LINE 的狀況
這樣看起來就清楚多了吧? 而當登出的時候,登入伺服器會把 token 給移除掉 這樣訊息伺服器在跟登入伺服器確認時就會失敗 你就會被要求重新登入囉~ -------------結論------------- 所以說今天引用的原文 原 Po 所說的狀況是不會發生的 並且在正常的情況下 不同裝置上的應用程式會拿到的 access token 都不相同 所以不同裝置登出不會彼此影響 應該只是非常單純的在電腦 A 登入過結果忘了... 另外我們看到有的 App 可以登出其他裝置 或者登出所有裝置 也就是叫登入伺服器一次把所有的 token 都取消掉 那麼就會全部登出囉! 希望在回答問題的時候能帶些小知識進來 讓大家稍微理解一些基本的運作方式 如果這篇文章有幫到你,幫我按個愛心或留言 也可以告訴我你現在遇到的問題或最想知道的技術細節 我會找時間再寫文章給大家 我是YC 我們下次見~ -------------參考資料------------- RFC - 6749 The OAuth 2.0 Authorization Framework
Line Login
愛心
76
19
全部留言