我正在关注 Laravel 的护照文档,特别是在本节中 https://laravel.com/docs/11.x/passport#personal-access-tokens
PASSPORT_PERSONAL_ACCESS_CLIENT_ID="client-id-value"
PASSPORT_PERSONAL_ACCESS_CLIENT_SECRET="unhashed-client-secret-value"
我尝试不放置这些 .env 变量,并且能够生成这样的令牌
$token = $user->createToken('Token Name')->accessToken;
没有任何问题
那么他们的目的是什么?我需要了解才能对安全性做出更好的判断。
在 Laravel Passport 中,个人访问客户端的 client_secret 是用于客户端应用程序和授权服务器之间身份验证的机密标识符。它是在您创建个人访问客户端时生成的,通常用于 OAuth 2.0 身份验证流程。
要将 client_secret 与您的 Laravel 应用程序一起使用并将其存储在 .env 文件中,您可以按照以下步骤操作:
php artisan 护照:客户--个人
运行命令后,Laravel 将显示客户端 ID 和“client_secret”。复制“client_secret”值。
将“client_secret”存储在 .env 文件中: 打开 .env 文件并为 client_secret 添加新的环境变量。您可以将其命名为 PASSPORT_PERSONAL_CLIENT_SECRET 之类的名称
PASSPORT_PERSONAL_CLIENT_SECRET=您的客户秘密值
$clientSecret = env('PASSPORT_PERSONAL_CLIENT_SECRET');
如果您自定义了 Passport 配置,请将“passport.personal_access_client.secret”替换为实际配置路径。
通过将“client_secret”存储在 .env 文件中,您可以保证其安全并在不同环境(例如开发、暂存、生产)中轻松管理它。确保永远不要将“client_secret”暴露给未经授权的各方,因为它提供对应用程序中敏感资源的访问。
如何将 Laravel Passport 与 JSON 结合使用:单击此处了解详细信息