在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  C/ OAuth2.0授權碼模式的流程

OAuth2.0授權碼模式的流程

有篇博客是這樣寫的OAuth2.0授權碼模式的流程:

授權碼模式(authorization code)授權的流程:

采用Authorization Code獲取Access Token的授權驗證流程又被稱為Web Server Flow,適用于所有有Server端的應用,如Web/Wap站點、有Server端的手機/桌面客戶端應用等。一般來說總體流程包含以下幾個步驟:

1、通過client_id請求授權服務端,獲取Authorization Code。

2、通過Authorization Code、client_id、client_secret請求授權服務端,在驗證完Authorization Code是否失效以及接入的客戶端信息是否有效(通過傳遞的client_id和client_secret信息和服務端已經(jīng)保存的客戶端信息進行匹配)之后,授權服務端生成Access Token和Refresh Token并返回給客戶端。

3、客戶端通過得到的Access Token請求資源服務應用,獲取需要的且在申請的Access Token權限范圍內(nèi)的資源信息。

問題:
建立一個場景來說問題可能清晰一點:
場景:比如在抖音上第一次使用微信登錄,用戶的操作是:在抖音里面點擊微信圖標后,會跳轉(zhuǎn)到一個有登錄按鈕的頁面,點擊登錄按鈕一個動作即可完成登錄,對照上面的博客寫的三個步驟,問題如下:

問題1:第1步說,“通過client_id請求授權服務端”,cilent_id是什么時候生成的?
問題2:第2步說,“授權服務端生成Access Token和Refresh Token并返回給客戶端”,這里的“返回給客戶端”是返回給抖音服務器還是抖音手機app?
問題3:授權過程一共有三個角色,如下圖所示:

clipboard.png

當用戶在抖音的微信登錄界面按下登錄按鈕后,抖音app是直接發(fā)送請求到微信服務器完成授權,還是抖音app發(fā)送請求到抖音服務器,然后由抖音服務器向微信服務器發(fā)送請求完成授權?

請大佬幫捋一捋這個流程,有點亂,謝謝。

回答
編輯回答
夏木

1、client_id是抖音在使用微信登錄之前,在微信開放平臺上創(chuàng)建抖音APP后獲得的
2、抖音服務器
3、先到抖音服務器,抖音服務器再構造一個授權URL,然后重定向到這個授權URL,這里的URL指的就是微信的授權服務器

2018年1月20日 09:56
編輯回答
別傷我

問題1:
抖音里面用戶可以通過微信登錄的前提是抖音先向微信申請一下權限。就是說抖音向微信請求說“允許你的用戶登錄抖音吧~”,然后微信如果同意抖音的申請的話就會給抖音一個client_id和client_secret。

問題2:
應該直接返回到抖音服務器,抖音服務器拿到后再考慮如何使用(比如cookie,session或者存數(shù)據(jù)庫之類的)

問題3:

clipboard.png
點擊這個微信的小圖標后,先請求抖音的服務器,抖音的服務器上會重新構建一個url作為向微信請求授權的地址(比如帶上redirect_uri,grant_type,client_id等參數(shù)),然后重定向到新構建的這個url

2018年9月6日 12:05