在laravel中配置及測試passport

配置Passport

1.首先使用composer安裝passportphp

composer require laravel/passport

2.註冊服務提供者laravel

進入config/app.php中,將下面行添加到providers數組中web

/*
 * Package Service Providers...
 */
 Laravel\Passport\PassportServiceProvider::class,

3.在App\User模型中的use後面添加HasApiTokensjson

class User extends Authenticatable
{
    use HasApiTokens, Notifiable;
}

4.在AuthServiceProviderboot方法中調用api

// 配置passport路由
Passport::routes();
// 或者使用下面這行給URI添加前輟
//Passport::routes(null,['prefix'=>'api/oauth']);

// token的有效期時長:2小時
Passport::tokensExpireIn(Carbon::now()->addHour(2));

// refresh token的有效期時長:7天
Passport::refreshTokensExpireIn(Carbon::now()->addDay(7));

5.將config/auth.php的配置文件的guards/api/driver修改成passport數組

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

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

6.在服務器中執行數據填充服務器

php artisan migrate

7.生成密鑰session

php artisan passport:install

執行上述命令會生成相似的密鑰app

Personal access client created successfully.
Client ID: 1
Client Secret: Fo6GS5UyNuCIeZtBhIUzA9W99sonUoZNo26Zi67t
Password grant client created successfully.
Client ID: 2
Client Secret: kCvv28qy25rIw5IYvAwpIHNQvBMnH6FElrzxqvqP

簡單的配置就些完成。composer

測試上述配置

打開Postman或者相似的工具

  • 方法爲POST

  • 連接爲http://你的域名/oauth/token,(假如你使用了URI的前輟,則要在你的URI前加上你自定義的那個前輟)

  • 在表單數據中添加如下項

key value
client_id 這裏使用的是生成密鑰裏的clientid值
client_secret 這個是上面ID對應的secret
username users表裏用於登陸的用戶名,默認爲郵箱,除非你修改過默認值
password 用戶登陸對應的密碼
grant_type password(oauth2有多種類型,我這裏使用密碼驗證類型測試)

下面附一個演示的數據,不要照抄,只做參考

key value
client_id 2
client_secret kCvv28qy25rIw5IYvAwpIHNQvBMnH6FElrzxqvqP
username aaa@test.com
password 123456
grant_type password

填好上面內容後,點Send,服務器返回一個json數據就表示Passport配置成功了

{
    "token_type": "Bearer",
    "expires_in": 7200,
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImUxNGUyZDFmNjUwYzJiMzgwYWVhZjVjNzI5NWFhNjI4ZjM4MjRmOTJhYzNhMmFiY2VkZmQyYmI2OWQ0ZWQ0NjFlOGUwZTI4Njk2NWIzN2ZmIn0.eyJhdWQiOiIyIiwianRpIjoiZTE0ZTJkMWY2NTBjMmIzODBhZWFmNWM3Mjk1YWE2MjhmMzgyNGY5MmFjM2EyYWJjZWRmZDJiYjY5ZDRlZDQ2MWU4ZTBlMjg2OTY1YjM3ZmYiLCJpYXQiOjE1MTAzMzIwNDksIm5iZiI6MTUxMDMzMjA0OSwiZXhwIjoxNTEwMzM5MjQ5LCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.czFKBMcqXWhv6JXD_1bhAn2h0cZ1v4KOZWP8c2UOQ3_Y0-a0w-63Qa4jGOCU01dyB5_9e6eEJeaNpDkxN-iezlJbQ37gMjg_x4GbT-Zy1XuYSfqtRQPd3IO3jnnEtFvVLdcaqG4a5z5I9QEKtSjP8UYFV-gPv4Y-vMg29xPga0cIT9bxHnyTWvfjmUfNw_S6pZ2QAnr4jRJSgGgMksNKeo2qRgmpxOYD5LSPO-ZLYY0QhB6TuPZDmO_1s6L7rMQN4p3rlv36E3eIPw8AuK1aXPy5c2_iN4fzdkKKtsHhm6dl5MjnbomKLbVCnYaqWNOSz5ru2zztnUysBi6J_s4qwW89w0DQahl4sLx1qXx90JHdi057d6L4_AqTbFvBtRY_e5IyKNfG1Q3iZS_8ZMRP2TAEsnCiHO3Mv-RRRzunUAE3nzy-6Uu30yj01_dgowLmcuj6RLElsCfOgDAGmLlHdXzDXn-ECzhZEVSuwRqLYqoDiw95WzOSKteemvsWmUqnoLyaXKu_uAjhLb6eKVSdOIBLFb1z-3XQjIx2FhTGJxDhZShDQ9V3Dx_XdiJO6gsdgBsuJyaxLv-SDrU7SQ3LmZxn854DCYXTblUBXyUfbRtu5CGyI2kaV9DyPMqxrAPEYLmTL6WG1J0foTNAOOwWx6nEuDnq18oVALojqsMaNfM",
    "refresh_token": "def50200344953b3f39ad35917ff6981ae428f3b48705899e6218149701d7ee3cd419c8297961603444f8ea9174154baa6a04740ee8d2e58403999c92e567f0c5ebdde0ebde6ebc965bc91a1d5c8d012cb7f0b159226e187d5500458c41a6feb4fc9908f9ab9b43f5c9eb82d8e0507fd3db92e6253990acbf9edb6f1b8b3e857c559e23b015af0331ace28d63df4d25e62a8538565e52f38579f6a57582f3446fa2855ff86c7a9ee401671fd70f3a151eb97d1b83abd09612d8d1ccc93c35b64585a051fef2fc971286f135ed5f7e66858c169a2f05192c85458557c5dd2d21b015b43a3d409914cc9e4f719abb8e9376d88d4cee295a25a32bed45f60ddba6f3679980a40604ac563601442e549557cc3d0c2e9b8c722b414b87875180472d66675b1902124a7502123eb2feee87131243eb06c1ea72c11c8ff5b7c65f35544a9e35bde1fe74c99ec6cb1d16a4ec68fec046f3637737ef18f5998b9368c5190f7"
}

圖片描述

相關文章
相關標籤/搜索