濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 詳解laravel passport OAuth2.0的4種模式

詳解laravel passport OAuth2.0的4種模式

熱門標(biāo)簽:江門回?fù)芡夂粝到y(tǒng) 江西電銷機(jī)器人收費(fèi) 高德地圖標(biāo)注位置怎么標(biāo)注 天潤融通外呼系統(tǒng)好嗎 泊頭在哪里辦理400電話 高德地圖標(biāo)注店鋪收費(fèi)嗎 電銷機(jī)器人沒有效果怎么樣 杭州語音電銷機(jī)器人 欣思維地圖標(biāo)注

參考:

https://xueyuanjun.com/post/

1... 熟悉的場景

某個(gè)網(wǎng)站,某用戶未注冊(cè),注冊(cè)時(shí)提示可微信賬號(hào)登錄(github, google都有類似

某網(wǎng)站是第三方(客戶端), 認(rèn)證服務(wù)器和資源服務(wù)器都在微信,資源是指微信的用戶名,頭像等

網(wǎng)站目的是獲取改用戶微信的賬戶,頭像等,方便快速注冊(cè). 前提需要用戶授權(quán)同意.

laravel用passport搭建OAuth2認(rèn)證服務(wù)

相當(dāng)于基于laravel搭建OAuth2 Server.

資源擁有者: laravel server
OAuth2 認(rèn)證服務(wù)器: laravel server
用戶: 在laravel server注冊(cè)過的用戶
第三方: 通過api訪問的Web端,目的就是要拿到access_token

準(zhǔn)備

見文檔: https://xueyuanjun.com/post/1...

4種模式

記得用 artisan passport:client 添加對(duì)應(yīng)用戶

對(duì)應(yīng)不同應(yīng)用場景:

授權(quán)碼模式(authorization_code)

實(shí)現(xiàn)類似微信授權(quán)登錄的服務(wù).這個(gè)當(dāng)然是最強(qiáng)大也最復(fù)雜的.

用戶點(diǎn)擊客戶端微信登錄按鈕,url跳轉(zhuǎn)到微信的登錄頁面, (比如微信登錄)

用戶登錄微信, 微信提示是否允許授權(quán).

實(shí)際是訪問認(rèn)證服務(wù)器的 /oauth/authorize .

允許,redirect到 客戶端指定的redirect_uri

重定向uri由第三方在步驟1里指定.

后端無法控制具體重定向的url實(shí)現(xiàn),(每個(gè)第三方都不一樣)只能通過url添加返回參數(shù)code.

第三方服務(wù)的后端處理該重定向,再次發(fā)起訪問 /oauth/token ,拿到真正的token

隱式授權(quán)

和code授權(quán)的唯一區(qū)別是返回的redirect_uri沒有code參數(shù):

http://dev.blog.com:8000/oauth/authorize?client_id=6response_type=codescope=state=SENPYyXJvT0fl4Rnz0Agredirect_uri=http%3A%2F%2Fdev.blog.com%3A8000%2Fauth%2Fcallback

密碼授權(quán)模式(password_credentials)

適用移動(dòng)端.

無認(rèn)證過程,客戶端登錄時(shí)直接帶上資源服務(wù)器注冊(cè)過的賬號(hào)密碼,就像使用同一個(gè)賬戶系統(tǒng).

客戶端模式(client_credentials)

類似微信等開放平臺(tái)的認(rèn)證方式.開發(fā)者注冊(cè)后拿到clientid, client_secret,然后認(rèn)證去拿token直接用

比密碼授權(quán)更簡單,無需用戶名密碼,直接用client_id + client_secret.

javascript api

適用spa,不用也行..畢竟還要提交表單登錄.

省掉js api 帶上 Bearer Token +xxx 的認(rèn)證,直接放到cookie里.

需添加middleware: \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class

這個(gè) Passport 中間件將會(huì)附加 laravel_token Cookie 到輸出響應(yīng),這個(gè) Cookie 包含加密過的JWT,Passport 將使用這個(gè) JWT 來認(rèn)證來自 JavaScript 應(yīng)用的 API 請(qǐng)求,現(xiàn)在,你可以發(fā)送請(qǐng)求到應(yīng)用的 API,而不必顯示傳遞訪問令牌.

其他用法

1 私人令牌
 授權(quán)方式在用戶測試、體驗(yàn)平臺(tái)提供的認(rèn)證 API 接口時(shí)非常方便
2 scope作用域 
 更細(xì)顆粒度控制api權(quán)限

總結(jié)

以上所述是小編給大家介紹的laravel passport OAuth2.0的4種模式,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

您可能感興趣的文章:
  • 詳解Laravel5.6 Passport實(shí)現(xiàn)Api接口認(rèn)證
  • 詳解laravel安裝使用Passport(Api認(rèn)證)
  • Laravel5.5中利用Passport實(shí)現(xiàn)Auth認(rèn)證的方法
  • 關(guān)于laravel模板中生成URL的幾種模式總結(jié)
  • PHP觀察者模式示例【Laravel框架中有用到】
  • Laravel中服務(wù)提供者和門面模式的入門介紹

標(biāo)簽:雙鴨山 內(nèi)江 石嘴山 江門 深圳 駐馬店 大同

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解laravel passport OAuth2.0的4種模式》,本文關(guān)鍵詞  詳解,laravel,passport,OAuth2.0,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解laravel passport OAuth2.0的4種模式》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解laravel passport OAuth2.0的4種模式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    青岛市| 忻州市| 攀枝花市| 余干县| 西充县| 泾源县| 巴东县| 阿拉善右旗| 响水县| 太白县| 正蓝旗| 两当县| 利津县| 色达县| 清丰县| 乳山市| 久治县| 天峻县| 嵊州市| 兴仁县| 安顺市| 双柏县| 陵水| 玉门市| 根河市| 隆尧县| 区。| 凌源市| 广宗县| 边坝县| 吐鲁番市| 巨野县| 侯马市| 嘉兴市| 陵川县| 吴川市| 富源县| 阳东县| 峡江县| 海原县| 隆回县|