2017-05-08 203 views
0

我正在學習laravel 5.4 api授權章節。我有一個關於密碼授權令牌的問題。該文件說這是爲我的其他第一方客戶。現在我構建一個api服務,它使用OAuth2。現在我想建立我的前端網站,我想使用密碼授權令牌。所以在我的理解中,比如登錄,我會發送一個包含用戶名,密碼,grant_type,client_id,client_secret,範圍的ajax請求到/oauth/tokens來獲取訪問令牌。我應該直接將客戶端密碼放入我的js代碼中嗎?因爲如果沒有,我不知道在哪裏存儲我的客戶機密,有人可以幫助我?謝謝。Laravel 5.4護照密碼授權令牌

+0

我認爲這個問題應該可以幫助您:http://stackoverflow.com/questions/24724238/how-do-client-side-js-libraries-for-oauth2-maintain-secure-authentication – mimo

回答

0

Laravel Passport需要了解OAuth,所以我認爲在使用護照之前先理解它才更好。

在我的理解

所以,像登錄,我會送一個Ajax請求 包括用戶名,密碼,grant_type,CLIENT_ID,client_secret,範圍 到/ OAuth的/令牌來獲得訪問令牌

請看看這個。 enter image description here

如果我只是把客戶端的祕密在我的js代碼直接

是。簡要解釋一下,一旦你安裝了laravel護照。它將在您的數據庫中生成表格,您將使用oauth_clients表格來存儲客戶端的數據。

對於獲取信息等簡單認證,您只需要oauth_clients.id,oauth_clients.secretoauth_clients.redirect數據。您可以使用php artisan passport:client

創建新數據我建議嘗試一下,您很快就會遇到問題並很容易修復。古德勒克

https://laravel.com/docs/5.4/passport

+0

請解釋在前端JavaScript代碼中包含客戶端密碼的原因,因爲出於安全原因,我已閱讀的每篇其他文章/書籍都強烈建議。 – commanderZiltoid

+0

一般而言,您不應將任何代碼(或可反編譯的二進制文件)中的客戶端密碼(甚至客戶端ID)都包含在您的用戶/客戶/等中。 –