PHP Laravel 5.6 - 使用 Passport 的 REST API

2025年3月17日 | 阅读 7 分钟

在本节中,我们将学习使用 Passport 身份验证构建 REST API。我们将使用 Laravel 和 PHP 来完成。在我们的 Laravel 应用程序中,我们将创建 REST API。我们还将安装和实现 Passport 进行身份验证。在我们的应用程序中,我们可以非常轻松地使用它,并且它非常容易理解。

流行的 PHP 框架是 Laravel。Laravel 以其最佳框架而闻名,因此大多数开发人员都使用 Laravel 来构建后端 API。Laravel 提供了许多功能,例如 Passport、路由、安全、中间件、模型、REST API、事件等。这些功能可以轻松使用,我们可以编写整洁的 Laravel 代码。在此 Laravel 应用程序中,我们将学习如何集成 REST API 和 Passport。如果您对 Laravel 没有太多了解,此应用程序将非常有助于设置 API 和身份验证。为了设置 REST API,步骤如下:

步骤 1

在此步骤中,我们将安装 Laravel 应用。我们将使用以下命令获取 Laravel 5.6 应用程序的最新版本。为此,我们将打开 CMD 并运行以下命令:

步骤 2

在此步骤中,我们将安装包。在这里,我们将使用 Composer 包管理器来安装 Passport。为此,我们将使用命令提示符并在其中运行以下代码:

当上述包成功安装后,我们需要获取默认迁移。我们将使用我们的数据库并通过此迁移创建一个新的 Passport 表。为此,我们将运行以下命令:

在此之后,我们将使用以下命令安装 Passport。此命令用于创建安全令牌密钥。为此,我们将运行以下命令:

步骤 3

在此步骤中,我们将执行Passport 配置。在这里,我们将在 auth 配置文件、服务提供商和 model 中添加配置。为此,我们将对 User.php、AuthServiceProvider.php 和 auth.php 三个文件进行一些更改。这些文件上的更改如下所述。在 User.php 文件中,我们必须像这样添加一个名为 HasApiTokens 的 Passport 类:

app/User.php

现在我们将使用 AuthServiceProvider.php 文件并在其中添加 "Passport::routes()",如下所示:

app/Providers/AuthServiceProvider.php

现在我们将使用 auth.php 文件并在其中添加 API 身份验证配置,如下所示:

步骤 4

在此步骤中,我们将创建 Product 表和 Model。在这里,我们将使用以下命令为 post 表创建迁移。为此,我们将首先运行以下代码:

当上述命令成功运行后,我们将在 database/migrations 路径下看到一个新文件。现在我们将使用迁移文件创建一个 product 表,并将以下代码放入该文件中:

当上述命令成功运行时,我们必须使用以下命令来运行上面创建的迁移:

成功创建 "products" 表后,我们需要为 products 创建一个 product model。因此,我们将使用 app/Product.php 路径并创建一个名为 item.php 的新文件。然后,我们将如下所示将以下代码添加到此创建的文件中:

app/Product.php

步骤 5

在此步骤中,我们将创建 API 路由。我们可以使用 Laravel 提供的 api.php 文件轻松编写 Web 服务路由。现在我们将使用该文件并在其中添加一个新路由,如下所示:

routes/api.php

步骤 6

在此步骤中,我们将创建控制器。在这里,我们将创建 RegisterController、BaseController 和 ProductController 三个新控制器。现在我们需要创建一个独立的 API 控制器。因此,我们将使用 Controllers 文件夹并创建一个名为 "API" 的新文件夹。现在我们将创建这些控制器。首先,我们将像这样创建 BaseController:

app/Http/Controllers/API/BaseController.php

现在我们将像这样创建 ProductController.php:

app/Http/Controllers/API/ProductController.php

之后,我们将像这样创建 RegisterController:

app/Http/Controllers/API/RegisterController.php

现在 Passport API 和完整的 RESTful API 已准备好在 Laravel 中运行。我们将使用以下命令快速运行此代码:

我们应该注意,以下 header 将用于详细的 API。

现在我们将描述各种带有 HTTP 方法的路由 URL。首先,我们将描述带有 HTTP 方法的登录路由 URL,如下所示:

登录: HTTP 方法:GET,URL:https://:8000/oauth/token

当我们运行上述 URL 时,我们将看到登录 API,如下所示:

PHP Laravel 5.6 - Rest API with Passport

我们将描述带有 HTTP 方法的注册路由 URL,如下所示:

注册: HTTP 方法:GET,URL:https://:8000/api/register

当我们运行上述 URL 时,我们将看到注册 API,如下所示:

PHP Laravel 5.6 - Rest API with Passport

我们将描述带有 HTTP 方法的列表路由 URL,如下所示:

列表: HTTP 方法:GET,URL:https://:8000/api/products

当我们运行上述 URL 时,我们将看到列表 API,如下所示:

PHP Laravel 5.6 - Rest API with Passport

我们将描述带有 HTTP 方法的创建路由 URL,如下所示:

创建: HTTP 方法:POST,URL:https://:8000/api/products

当我们运行上述 URL 时,我们将看到创建 API,如下所示:

PHP Laravel 5.6 - Rest API with Passport

我们将描述带有 HTTP 方法的显示路由 URL,如下所示:

显示: HTTP 方法:GET,URL:https://:8000/api/products/{id}

当我们运行上述 URL 时,我们将看到显示 API,如下所示:

PHP Laravel 5.6 - Rest API with Passport

我们将描述带有 HTTP 方法的更新路由 URL,如下所示:

更新: HTTP 方法:PUT,URL:https://:8000/api/products/{id}

当我们运行上述 URL 时,我们将看到更新 API,如下所示:

PHP Laravel 5.6 - Rest API with Passport

我们将描述带有 HTTP 方法的删除路由 URL,如下所示:

删除: HTTP 方法:DELETE,URL:https://:8000/api/products/{id}

当我们运行上述 URL 时,我们将看到删除 API,如下所示:

PHP Laravel 5.6 - Rest API with Passport
下一主题PHP 比较日期