1. 程式人生 > >OAuth2.0授權原理及開發流程詳解

OAuth2.0授權原理及開發流程詳解

OAuth2.0在認證和授權的過程中參與的幾個角色如下:

Client - 第三方應用,

下面以小明使用qq登陸本站為例來講解OAuth2.0授權原理(小明為Resource Owner,本站36nu.com為Client,qq授權伺服器為Authorization Server,提供小明qq基本資訊的伺服器為Resource Server)

1 小明點選使用qq登陸本站,本站請求qq的OAuth登入頁

請求的介面大致如下

https://graph.qq.com/oauth/...&client_id=100490398&redirect_uri=xxx

這個URL稱為Request Token URL - 未授權的令牌請求服務地址,要帶兩個引數client_id和redirect_uri,client_id是在qq互聯申請的appid,redirect_uri是使用者賬號密碼輸入正確後跳轉到的地址。本站身份驗證通過後,跳轉到qq登陸頁面

2 小明使用qq號登陸並授權

小明登陸成功後,QQ在回撥地址中加入了一個code引數給本站,例如:

/callback?code=xxxxxx

此code即Authorization Code,有效期一般很短

3 本站通過Authorization Code獲取Access Token

本站使用上一步返回的code及appid和appkey去qq獲取Access Token,介面地址例如:

https://graph.qq.com/oauth2.0/token?&client_id=100490398&client_secret=xxx&code=xxx

這個URL稱為User Authorization URL - 使用者授權的令牌請求服務地址,client_id即appid,client_secret即appkey,code為上一步得到的code,這個介面呼叫成功後會返回access_token和refresh_token,access_token的是有有效期的,過期後需要使用者重新授權才能獲得新的Access_Token。為避免使用者再次授權的操作,提升使用者體驗,可以使用refresh_token重新獲取有效的access_token

4 使用access_token獲取小明的頭像,區域,性別等基本資訊

使用access_token去請求qq的相關openApi(Resource Server)即可獲取到需要的資訊

相關推薦

OAuth2.0授權原理開發流程

OAuth2.0在認證和授權的過程中參與的幾個角色如下: Client - 第三方應用, 下面以小明使用qq登陸本站為例來講解OAuth2.0授權原理(小明為Resource Owner,本站36nu.com為Client,qq授權伺服器為Authorization Server,提供小明qq基本資訊

Android 6.0許可權機制開發流程

許可權機制變更的背景 在Android6.0之前,app在安裝時會提示使用者此app需要使用哪些許可權,但使用者只能選擇同意或拒絕安裝,而不能單獨對某項許可權進行授予或拒絕。只要使用者選擇了安裝,即表示使用者接受了app對這些許可權的使用,如果使用者不希望app獲取某些涉及隱

Android之Android 6.0許可權機制開發流程

許可權機制變更的背景 在Android6.0之前,app安裝時會提示使用者此app需要使用哪些許可權,但使用者不能單獨對某項許可權進行授權或拒絕,只要使用者選擇了安裝,即表示使用者接受了app對這些許可權的使用,如果使用者不希望app獲取某些涉及隱私的資訊,例如讀取

[Android系統原理開發要點

第1章 Android系統概述 1 1.1 基礎知識 1 1.1.1 Android開發系統的由來 1 1.1.2 行動電話系統開發模式 2 1.1.3 未來行動電話的功能及Android的優勢 4 1.2 Android的開發工作 6 1.2.1 Android移植

微信小程序支付退款流程

後臺 class receive 字典序 混亂 md5 package 清晰 超時時間 微信小程序的支付和退款流程 近期在做微信小程序時,涉及到了小程序的支付和退款流程,所以也大概的將這方面的東西看了一個遍,就在這篇博客裏總結一下。 首先說明一下,微信小程序支付的主要邏輯

使用LVS實現負載均衡原理安裝配置

配置 png 負載均衡 iptables .cn 詳解 文章 配置詳解 logs LVS是一個開源軟件,由章文嵩博士於1998年5月創立,可以實現Linux平臺下的簡單負載均衡。LVS是Linux Virtual Server的簡寫,是一個虛擬的服務器集群系統。LVS是基於

使用LVS負載均衡搭建web群集的原理安裝配置

chmod 特點 Go 內核空間 col rpc mac地址 網絡文件系統 IT 一、負載均衡LVS基本介紹 LVS是 Linux Virtual Server 的簡稱,也就是Linux虛擬服務器。這是一個由章文嵩博士發起的一個開源項目,它的官方網站是 http://www

vue外掛開發流程-從開發到釋出至npm(二)

  前記:上一篇 https://www.cnblogs.com/adouwt/p/9211003.html,(這裡感謝部落格園的網友,給我點贊推薦了) 說到了一個完整的vue外掛開發、釋出的流程,總結下來就講了這麼一個事,如何注入vue, 如果封裝vue外掛,如何測試vue外掛,以及如何釋出vue外掛到np

vue外掛開發流程-從開發到釋出至npm(一)

 vue的外掛開發 1.本地開發   1.1 初始化本地開發專案        1.2 test.js 的內容 ,這是外掛的入口檔案      test.js的程式碼如下: import testPanel from './panel.vue

從手機瀏覽器或者 APP 中跳轉到微信並跳轉到指定頁原理行業內幕

相信很多朋友遇到過有些網站,可以直接通過一個連線就能讓你的手機開啟微信且跳轉到某個指定的頁面,許多程式設計師很好奇到底是怎麼實現的,到處求這種方法的原始碼,在文字中我會介紹及剖析這種跳轉實現的原理。     微信是個比較封閉的環境,至於為什麼封閉,相信大家都瞭解,在一些應用場景中

WinCE6.0 USB Host驅動載入流程(二)

; USB - Mass Storage Class Driver [HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\Default\Default\8\Mass_Storage_Class]      "DLL"="USBMSC.DLL"      "Prefix"="

使用 LVS 實現負載均衡原理安裝配置

負載均衡叢集是 load balance 叢集的簡寫,翻譯成中文就是負載均衡叢集。常用的負載均衡開源軟體有nginx、lvs、haproxy,商業的硬體負載均衡裝置F5、Netscale。這裡主要是學習 LVS 並對其進行了詳細的總結記錄。 一、負載均衡LVS基本介

公眾號第三方平臺開發流程

準備工作 1. 註冊申請 2. 建立第三方平臺 進入‘管理中心->建立第三方平臺’ 2.1. 輸入基本資訊 !基本資訊將顯示在授權頁被使用者看到,請認真填寫 修改平臺稽核成功後,僅對測試公眾號生效,屆時再提交“覆

WinCE6.0 USB Host驅動載入流程(一)

VOID GetUSBDVersion(LPDWORD lpdwMajorVersion, LPDWORD lpdwMinorVersion); BOOL RegisterClientDriverID(LPCWSTR szUniqueDriverId); BOOL UnRegisterClientDriv

actionscript3.0 圖片裁剪儲存jpg

-- DIY部落社群最新活動: [java]一個java技術性的問題 [java]java基礎程式設計 懸賞100分 [作業系統]你覺的Windows哪個系統好? 2009.8.27-9.27日活動 [java]MP3可以做什麼用 發起論壇活動請點選這裡 -------

第三方登入開發流程

首先你得是服務號,並且是經過認證的.這樣微信會給你很多第三方介面的許可權,如果是訂閱號或者沒有認證的服務號那就不用想了! 一、開啟開發者模式 開始你需要進入微信公眾平臺開啟開發模式,並且填寫oauth2的回撥地址,地址填寫你專案的域名就可以了.比如:www.baid

第三方登入(QQ登入)開發流程

  近排由於工作的繁忙,已經一個星期沒寫博文做分享了,接下來我對網站接入第三方登入----QQ登入的實現邏輯做一個詳細的講解。   對於整個流程的詳細文件可以到QQ互聯官網(http://wiki.connect.qq.com)檢視,我這裡就簡單地進行描述,主要是分析程式碼的實現過程。   我用的是C

普通型母函式原理模板程式碼

母函式有很多種,最常用的有普通型母函式和指數型母函式。兩者區別是:普通型母函式主要是來求組合的方案數,而指數型母函式是求多重排列數。下面只講解普通型母函式的相關知識。定義:若函式G(x)=a0+a1*x

微控制器中斷原理定時器

一、中斷系統1.1.中斷的概念什麼是中斷:CPU在處理某一事件A時,發生的另外某一事件B請求CPU去處理(產生了中斷),隨後CPU暫時中斷當前正在執行的任務,去對事件B進行處理,CPU處理完事件B後再返回之前中斷的位置繼續執行原來的事件A,這一過程總稱為中斷。1.2.中斷流程

使用LVS實現負載均衡原理安裝配置(轉)

bin 瀏覽器 gate 裏的 高性能 target 相關 asq 空間 負載均衡集群是 load balance 集群的簡寫,翻譯成中文就是負載均衡集群。常用的負載均衡開源軟件有nginx、lvs、haproxy,商業的硬件負載均衡設備F5、Netscale。這裏主要是