head-img Force's Blog

laravel passport 快速入门

PHP

Laravel Passport 是 Laravel 框架中的一个包,用于实现 OAuth2 协议,以便你可以安全地为应用程序的 API 提供认证和授权。以下是一个快速入门指南,介绍如何在 Laravel 项目中设置和使用 Passport:

1. 安装 Laravel Passport

确保你的 Laravel 版本与 Passport 版本兼容。可以通过 Composer 安装 Passport:

composer require laravel/passport

2. 迁移数据库

Passport 需要一些额外的数据库表来存储 OAuth 相关的信息。运行以下命令来创建这些表:

php artisan migrate

3. 发布配置文件和密钥

发布 Passport 的配置文件和密钥:

php artisan vendor:publish --provider="Laravel\Passport\PassportServiceProvider"

4. 设置加密密钥

Passport 使用加密密钥来加密和解密敏感信息。生成一个新的应用密钥:

php artisan key:generate

5. 创建客户端

Passport 使用客户端来代表应用程序的不同部分。运行以下命令来创建一个个人访问客户端和个人密码授予客户端:

php artisan passport:install

或者单独创建客户端:

php artisan passport:client --personal
php artisan passport:client --password

6. 配置 .env 文件

在 .env 文件中,确保 APP_URL 和 APP_ENV 正确设置,因为 Passport 依赖这些值来生成正确的回调 URL。

7. 配置路由

在 routes/api.php 文件中,可以使用 auth:api 中间件来保护你的 API 路由:

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

8. 用户模型设置

确保你的用户模型使用了 HasApiTokens Trait,这将使 Passport 能够为用户生成 API tokens。

9. 授权用户

在前端或 API 请求中,你需要使用生成的客户端 ID 和 Secret,以及用户的凭证来请求一个访问令牌。通常这可以通过发送一个 POST 请求到 /oauth/token 路由完成。

10. 使用令牌访问受保护的资源

一旦你获得了访问令牌,就可以在后续的 API 请求中通过 Authorization 头部发送它,格式为 Bearer {access_token}。

11. 测试

使用 Postman 或类似工具测试你的 API 路由,确保认证和授权工作正常。

12. 文档和进一步学习

查阅 Laravel Passport 的官方文档以了解更多高级功能和配置选项。
这个过程将让你能够快速上手并开始使用 Laravel Passport 来保护你的 API。

点我评论
打赏本文
二维码


135

文章

14

标签

 访客统计  Update-0927-16:05

 网站信息