Laravel 8 使用 JavaScript 接入 API

2021-07-26 09:54 更新

在構(gòu)建 API 時(shí), 如果能通過(guò) JavaScript 應(yīng)用接入自己的 API 將會(huì)給開發(fā)過(guò)程帶來(lái)極大的便利。這種 API 開發(fā)方法允許你使用自己的應(yīng)用程序的 API 和別人共享的 API 。你的 Web 應(yīng)用程序、移動(dòng)應(yīng)用程序、第三方應(yīng)用程序以及可能在各種軟件包管理器上發(fā)布的任何 SDK 都可能會(huì)使用相同的 API 。

通常,如果要在 JavaScript 應(yīng)用程序中使用 API ,需要手動(dòng)向應(yīng)用程序發(fā)送訪問(wèn)令牌,并將其傳遞給應(yīng)用程序。但是, Passport 有一個(gè)可以處理這個(gè)問(wèn)題的中間件。將 CreateFreshApiToken 中間件添加到 app/Http/Kernel.php 文件中的 web 中間件組就可以了:

'web' => [
    // Other middleware...
    \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
], 

注意:你需要確保 CreateFreshApiToken 是你的中間件堆棧中的最后一個(gè)中間件。

這個(gè) Passport 中間件將在你所有的對(duì)外請(qǐng)求中添加一個(gè) laravel_token cookie 。該 cookie 將包含一個(gè)加密后的 JWT , Passport 將用來(lái)驗(yàn)證來(lái)自 JavaScript 應(yīng)用程序的 API 請(qǐng)求。至此,您可以在不明確傳遞訪問(wèn)令牌的情況下向應(yīng)用程序的 API 發(fā)出請(qǐng)求:

axios.get('/api/user')
    .then(response => {
        console.log(response.data);
    }); 
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)