naviisml / laravel-intra-api
一个用于与42 Intra api交互的Laravel包
这个包的官方仓库似乎已经不存在了,因此该包已被冻结。
v1.x-dev
2022-03-08 23:30 UTC
Requires
- php: ^8.1
- composer/composer: ^2.0
- laravel/framework: ^8.0|^9.0
This package is auto-updated.
Last update: 2023-01-09 01:48:03 UTC
README
依赖
- PHP 8.1
- Laravel 8.1
功能
- 通过Intra进行身份验证
- 通过Intra进行API调用
安装
步骤1. 安装包
composer require naviisml/laravel-intra-api
步骤2. 添加ServiceProvider
在config/app.php
return [
// ...
'providers' => [
/*
* Package Service Providers...
*/
Naviisml\IntraApi\IntraServiceProvider::class,
]
];
步骤3. 添加服务
在config/services.php
return [
// ...
'intra' => [
'url' => env('42_URL'), // The main API url
'client_id' => env('42_CLIENT_ID'), // The client_id
'client_secret' => env('42_CLIENT_SECRET'), // The client_secret
],
];
使用
OAuth 2.0
步骤1. 身份验证URL
use Naviisml\IntraApi\Facades\IntraOAuth;
IntraOAuth::driver('intra')->buildAuthUrl()
步骤2. 回调
use Naviisml\IntraApi\Facades\IntraOAuth;
$response = IntraOAuth::driver('intra')->token(); // makes the token call
$user = $response->user(); // returns the OAuth user
API调用
use Naviisml\IntraApi\Facades\IntraAPI;
$headers = [
'Authorization' => 'Bearer ' . $access_token,
];
$response = IntraAPI::driver('intra')->setEndpoint("/v2/me/teams")->with(['page' => '1'])->headers($headers)->get();
return $response->getBody();