前情提要
大家好,刷一波存在感... 我是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 FrameworkLine Login





