Laravel Passports .env 变量 PASSPORT_PERSONAL_ACCESS_CLIENT_SECRET 的用途是什么?

问题描述 投票:0回答:1

我正在关注 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 laravel-passport
1个回答
0
投票

在 Laravel Passport 中,个人访问客户端的 client_secret 是用于客户端应用程序和授权服务器之间身份验证的机密标识符。它是在您创建个人访问客户端时生成的,通常用于 OAuth 2.0 身份验证流程。

要将 client_secret 与您的 Laravel 应用程序一起使用并将其存储在 .env 文件中,您可以按照以下步骤操作:

  1. 生成个人访问客户端:您可以生成个人 使用 php artisan Passport:client --personal 访问客户端 命令。此命令将创建一个新客户端 password_client 属性设置为 true,表示它是个人的 访问客户端。

php artisan 护照:客户--个人

  1. 运行命令后,Laravel 将显示客户端 ID 和“client_secret”。复制“client_secret”值。

  2. 将“client_secret”存储在 .env 文件中: 打开 .env 文件并为 client_secret 添加新的环境变量。您可以将其命名为 PASSPORT_PERSONAL_CLIENT_SECRET 之类的名称

PASSPORT_PERSONAL_CLIENT_SECRET=您的客户秘密值

  1. 在 Laravel 应用程序中访问“client_secret”: 您可以使用 config() 辅助函数或 env() 辅助函数在应用程序中访问“client_secret”。例如:

$clientSecret = env('PASSPORT_PERSONAL_CLIENT_SECRET');

如果您自定义了 Passport 配置,请将“passport.personal_access_client.secret”替换为实际配置路径。

通过将“client_secret”存储在 .env 文件中,您可以保证其安全并在不同环境(例如开发、暂存、生产)中轻松管理它。确保永远不要将“client_secret”暴露给未经授权的各方,因为它提供对应用程序中敏感资源的访问。

如何将 Laravel Passport 与 JSON 结合使用:单击此处了解详细信息

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.