認證授權 一鍵登入的背後過程

2022-01-10 06:51:08 字數 2055 閱讀 5143

那麼當我們點選三方賬號登入時,發生了什麼事情呢?涉及什麼概念呢?接下來我們就以qq登入為例一步步去檢視整個過程。

1、進入qq登入頁面:

頁面,如下圖1;但我們點選後檢視到的介面卻是qq登入介面,如下圖2

值得注意的是,我們已經跳轉到了qq的伺服器位址了:https://graph.qq.com/oauth2.0/show?which=login&display=pc&client_id=100410602

通過發現裡面有幾個特別的引數:

引數名

引數值

client_id(客戶端id)

100410602(這是****呢?)

redirect_uri(重定向位址)

response_type(響應型別)

code(代表什麼意思呢?)

state(狀態)

%257b%257d

通過觀察該頁面主要包含兩部分:

a)賬號密碼輸入框

對於使用者來說頁面在登入後就調整到了主頁,但在程式過程中卻經歷了好幾個步驟:

a)登入使用者名稱、密碼校驗

b)獲取授權碼,返回設定的**位址

c)根據授權碼獲取access_token

d)根據access_token獲取openid

e)根據openid獲取使用者資訊

那麼這整個過程在程式中是怎麼完成的呢?接下來我們用一張圖來介紹完整過程。

根據上面流程繪製了如下認證流程圖:

在qq互聯開發**中,我們可以了解到qq是oauth方式實現的,那麼現在可能大家就有些疑問:

a)oauth是什麼?

oauth(開放授權)是乙個開放標準,允許使用者授權第三方**訪問他們儲存在另外的服務提供者上的資訊,而不需要將使用者名稱和密碼提供給第三方**或分享他們資料的所有內容。

c)過程中的授權碼、token、openid又是什麼呢?

d)……

帶著這些問題,我們將一步步去學習,解決這些問題。已到達完整的了解整個過程  

通過以上分析主要步驟包含:

5、根據access token獲取對應使用者身份的openid

6、根據openid,呼叫openapi介面

逐步解答上面提出得到問題,對相關知識深入了解。最終實現自己的認證授權服務

qq互聯開發: 

oauth2.0簡介:

號碼認證一鍵免密登入,讓驗證更簡單!

讓我們先從使用者的角度來看看簡訊驗證碼的使用流程 那麼有其他的驗證方式能避免上述這些麻煩的流程?接下來我們再來看看除了簡訊驗證外,目前市面上還有哪些其他的驗證方式 1 主動驗證 使用者向驗證號碼傳送指定內容的驗證簡訊。2 免費 使用者主動撥打服務號碼進行手機號碼驗證。使用者同樣需要外跳至系統撥號流程...

如何實現app一鍵登入 極光認證最全配置教程

最近看到很多app都有本機號碼一鍵登入功能,感覺這個功能對於app的註冊轉化和使用者體驗提公升都有很大幫助,相信以後會成為乙個主流的驗證方式。一鍵登入主要功能就是讓使用者使用本機號碼一鍵登入 註冊app。手機號碼即使用者賬號,無需使用密碼和簡訊驗證,運營商閘道器直接校驗手機本機號。這個功能對於 懶癌...

統一認證授權及單點登入的技術選擇

ltpatoken 全稱 ibm lightweight third party authentication。是乙個羽量的token生成規則,作用有點像oauth2.0的第四種規則client credentials,即直接產生access token 乙個非常靈活的認證規則,輕量級使用者單點登入...