📅  最后修改于: 2023-12-03 15:38:08.749000             🧑  作者: Mango
邮递员(Postman)是一款非常方便的 API 测试工具,能够帮助开发者测试 API 接口。Laravel 护照(Passport)是 Laravel 的一款官方 OAuth2 服务器。在一些需要身份验证的场景中,通常我们需要运用到这两个工具。本文将介绍如何使用邮递员登录 Laravel 护照。
在开始本文之前,需要先做一些准备工作:
首先,我们需要创建一个客户端来获取授权令牌。我们可以通过运行以下 Artisan 命令来创建客户端:
php artisan passport:client --client
运行命令后,你将会被要求提供客户端名称和客户端重定向 URL。在后面的测试中需要用到这个客户端 ID 和秘钥。
使用邮递员创建一个 POST 请求到 http://localhost/oauth/authorize
。请求参数如下:
{
"response_type": "code",
"client_id": "{YOUR_CLIENT_ID}",
"redirect_uri": "{YOUR_REDIRECT_URI}",
"scope": ""
}
其中 YOUR_CLIENT_ID
和 YOUR_REDIRECT_URI
分别代表我们在之前创建的客户端 ID 和重定向 URL。我们需要在邮递员中设置好这两个参数。
接下来,我们将获取授权码并使用它来获取 access_token。在邮递员中,创建一个 POST 请求到 http://localhost/oauth/token
,请求参数如下:
{
"grant_type": "authorization_code",
"client_id": "{YOUR_CLIENT_ID}",
"client_secret": "{YOUR_CLIENT_SECRET}",
"redirect_uri": "{YOUR_REDIRECT_URI}",
"code": "{AUTHORIZATION_CODE}"
}
其中 YOUR_CLIENT_ID
、 YOUR_CLIENT_SECRET
和 YOUR_REDIRECT_URI
均为你在之前创建客户端时所填写的数据。AUTHORIZATION_CODE
是在第 2 步中获取的授权码。
现在我们已经获取到了 access_token,可以开始测试 API 了。在邮递员中创建一个 GET 请求到某个需要验证才能访问的 API 地址,并在请求 header 中携带我们获取到的 access_token。如下:
{
"Authorization": "Bearer {ACCESS_TOKEN}"
}
其中 ACCESS_TOKEN
是在第 3 步中获取的 access_token。
现在你已经知道如何使用邮递员登录 Laravel 护照了。这样的流程类似于我们平常登录电商或者社交网站时使用的 OAuth2 授权登录。希望这个教程可以对你有所帮助。