Laravel 8 使用 JavaScript 接入 API
在构建 API 时, 如果能通过 JavaScript 应用接入自己的 API 将会给开发过程带来极大的便利。这种 API 开发方法允许你使用自己的应用程序的 API 和别人共享的 API 。你的 Web 应用程序、移动应用程序、第三方应用程序以及可能在各种软件包管理器上发布的任何 SDK 都可能会使用相同的 API 。
通常,如果要在 JavaScript 应用程序中使用 API ,需要手动向应用程序发送访问令牌,并将其传递给应用程序。但是, Passport 有一个可以处理这个问题的中间件。将 CreateFreshApiToken
中间件添加到 app/Http/Kernel.php
文件中的 web
中间件组就可以了:
'web' => [
// Other middleware...
\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],
注意:你需要确保
CreateFreshApiToken
是你的中间件堆栈中的最后一个中间件。
这个 Passport 中间件将在你所有的对外请求中添加一个 laravel_token
cookie 。该 cookie 将包含一个加密后的 JWT , Passport 将用来验证来自 JavaScript 应用程序的 API 请求。至此,您可以在不明确传递访问令牌的情况下向应用程序的 API 发出请求:
axios.get('/api/user')
.then(response => {
console.log(response.data);
});