温馨提示×

如何在Ubuntu上使用Laravel Passport

小樊
46
2025-10-25 02:04:12
栏目: 智能运维

在Ubuntu上使用Laravel Passport进行API认证,你需要遵循以下步骤:

  1. 安装Laravel Passport

    首先,确保你已经安装了Laravel。如果还没有安装,可以通过Composer创建一个新的Laravel项目:

    composer create-project --prefer-dist laravel/laravel your-project-name
    

    然后,进入项目目录:

    cd your-project-name
    

    接下来,使用Composer安装Laravel Passport:

    composer require laravel/passport
    
  2. 运行迁移

    安装Passport之后,需要运行迁移来创建必要的数据库表:

    php artisan migrate
    
  3. 安装Passport

    在迁移完成后,你需要通过Artisan命令行工具来安装Passport:

    php artisan passport:install
    

    这个命令会创建两个加密的密钥,这些密钥用于生成访问令牌。确保将生成的client_idclient_secret保存好,因为它们在注册应用程序时需要使用。

  4. 配置Passport

    config/auth.php文件中,将默认的认证驱动更改为Passport:

    'guards' => [
        'api' => [
            'driver' => 'passport',
            'provider' => 'users',
        ],
    ],
    

    同时,确保你的用户模型(通常是App\Models\User)使用了HasApiTokens trait:

    use Laravel\Passport\HasApiTokens;
    
    class User extends Authenticatable
    {
        use HasApiTokens, Notifiable;
        // ...
    }
    
  5. 运行Passport服务器

    为了使Passport生效,你需要启动一个授权服务器。这可以通过Artisan命令来完成:

    php artisan passport:serve --host=0.0.0.0 --port=8000
    

    这个命令会启动一个监听在8000端口的授权服务器。你可以根据需要更改主机和端口。

  6. 测试Passport

    现在,你可以开始测试Passport了。你可以使用Postman或者任何其他HTTP客户端来发送请求到你的Laravel应用程序,并使用Passport提供的端点来获取访问令牌。

    例如,你可以发送一个POST请求到http://localhost:8000/oauth/token,包含用户的电子邮件和密码,以及客户端ID和客户端密钥来获取访问令牌。

  7. 使用访问令牌

    一旦你有了访问令牌,你就可以在请求头中使用它来访问受保护的路由了。将访问令牌添加到请求头的Authorization字段中,格式如下:

    Authorization: Bearer your-access-token
    

    现在,你可以发送请求到你的Laravel应用程序的API端点,它们将会验证访问令牌,并返回相应的数据。

请注意,这些步骤是在本地开发环境中设置Passport的基本指南。在生产环境中,你需要考虑更多的安全措施,比如HTTPS、OAuth客户端的正确配置、访问令牌的刷新机制等。

0