溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

laravel passport OAuth2.0的模式有哪些

發布時間:2021-08-11 14:34:34 來源:億速云 閱讀:141 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關laravel passport OAuth2.0的模式有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

1... 熟悉的場景

某個網站,某用戶未注冊,注冊時提示可微信賬號登錄(github, google都有類似

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

網站目的是獲取改用戶微信的賬戶,頭像等,方便快速注冊. 前提需要用戶授權同意.

laravel passport OAuth2.0的模式有哪些

laravel用passport搭建OAuth3認證服務

相當于基于laravel搭建OAuth3 Server.

資源擁有者: laravel server
OAuth3 認證服務器: laravel server
用戶: 在laravel server注冊過的用戶
第三方: 通過api訪問的Web端,目的就是要拿到access_token

準備

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

4種模式

記得用 artisan passport:client 添加對應用戶

對應不同應用場景:

laravel passport OAuth2.0的模式有哪些

授權碼模式(authorization_code)

實現類似微信授權登錄的服務.這個當然是最強大也最復雜的.

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

laravel passport OAuth2.0的模式有哪些

用戶登錄微信, 微信提示是否允許授權.

實際是訪問認證服務器的 /oauth/authorize .

laravel passport OAuth2.0的模式有哪些

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

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

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

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

laravel passport OAuth2.0的模式有哪些

隱式授權

和code授權的唯一區別是返回的redirect_uri沒有code參數:

http://dev.blog.com:8000/oauth/authorize?client_id=6&response_type=code&scope=&state=SENPYyXJvT0fl4Rnz0Ag&redirect_uri=http%3A%2F%2Fdev.blog.com%3A8000%2Fauth%2Fcallback

密碼授權模式(password_credentials)

適用移動端.

無認證過程,客戶端登錄時直接帶上資源服務器注冊過的賬號密碼,就像使用同一個賬戶系統.

客戶端模式(client_credentials)

類似微信等開放平臺的認證方式.開發者注冊后拿到clientid, client_secret,然后認證去拿token直接用

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

javascript api

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

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

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

這個 Passport 中間件將會附加 laravel_token Cookie 到輸出響應,這個 Cookie 包含加密過的JWT,Passport 將使用這個 JWT 來認證來自 JavaScript 應用的 API 請求,現在,你可以發送請求到應用的 API,而不必顯示傳遞訪問令牌.

其他用法

1 私人令牌
 授權方式在用戶測試、體驗平臺提供的認證 API 接口時非常方便
2 scope作用域 
 更細顆粒度控制api權限

感謝各位的閱讀!關于“laravel passport OAuth2.0的模式有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女