本系列文之後也會置於個人網站
這是入門篇的最後一天了,今天不會寫什麼內容,但來帶大家看個入門概念可用的工具 -- OAuth 2.0 Playground。
OAuth 2.0定義了幾個flow,可用於不同情境下,由於後續會有更多詳細說明,所以今天只會帶大家初步認識,嚐鮮看看。
點選 register a client and a user。別擔心,這是個隨時可以廢棄的帳號。你完全不用真的去記他,他也不會要求你提供什麼資訊。
然後你會得到一組帳號密碼。然後點選「open in new window」之後就可以按下「continue」。
在另外一個視窗中會有相同帳號密碼的資訊。如果你的系統允許視窗置頂,我會建議你先將其置頂。
首先,先試試其實已經用過的隱含模式。
你可以先不理解這部分內容,直接點選「Authorize」
然後輸入你剛剛註冊得到的帳號密碼登入:
允許授權
同樣先不用理解什麼是state
,直接選擇「It Matches, Continue!」
現在就拿到存取權杖(Access Token)了,並且這個權杖擁有的權限範圍(scope
)是photo
。
儘管我們之後會將permission和scope概念分開,但你可以先理解成同樣東西。
接著來試試所有裡面最爲標準,最爲基礎的code模式。
同樣先不用理解
然後登入
授權
It Matches, Continue!
And then 「Go」
然後就拿到權杖(token)了。
What!? 怎麼好像沒什麼差別?
這就對了。在使用者登入使用應用的情況,會更難察覺其中差異。
在一般情況下,OAuth協議是不會被用戶察覺到的,例如Steam和Spofity的桌面應用。除非主動的去探尋OAuth的痕跡,否則用戶永遠部會知道他使用了OAuth。這是很好的特性,因為優秀的安全系統在一切功能都正常時就應咳不被察覺。
-- OAuth 2.0 實戰
同樣地 OpenID Connect 也非常相似,儘管它目的性有點不同,但就不再多演示了。
PKCE和Code模式很像,只是再一開始和最後有點不同,它是更安全的授權方式。讓我們來看看吧!
先產生爲安全需要的資訊:
然後就和code模式有點像了
登入
授權
It Matches, Continue!
取得權杖(Token)
然後是差不多的結果
在這個Playground的Device Code模式我認爲意義不大,之後會帶大家透夠其他方式來看看。
那麼今天的內容也就到此爲止了。恭喜各位看完入門篇的所有內容,接下來的內容是會蠻燒腦的概念篇和實戰篇了。