slickplan/oauth2-slickplan-php

为 PHP League OAuth2-Client 提供的 Slickplan.com OAuth 2.0 客户端提供者

1.0.0 2022-06-21 13:39 UTC

This package is auto-updated.

Last update: 2024-09-27 17:48:23 UTC


README

此包为 PHP League 的 OAuth 2.0 客户端 提供了 Slickplan OAuth 2.0 支持。

Slickplan API 文档: slickplan/api-docs

安装

要安装,请使用 composer

composer require slickplan/oauth2-slickplan-php

使用方法

请参阅 League 的 Oauth 客户端文档

示例代码

use Slickplan\OAuth2\Client\Provider\Slickplan as SlickplanProvider;

$provider = new SlickplanProvider([
    'clientId' => '{client-id}',
    'clientSecret' => '{client-secret}',
    'redirectUri' => 'https://example.com/slickplan/redirect-uri/',
]);

if (isset($_GET['error'])) {
    print_r($_GET);
    exit;
} elseif (!isset($_GET['code'])) {
    header('Location: ' . $provider->getAuthorizationUrl(['scope' => 'all_read']));
    exit;
}

try {
    $token = $provider->getAccessToken('authorization_code', [
        'code' => $_GET['code'],
    ]);
    $user = $provider->getResourceOwner($token);
} catch (Exception $e) {
    exit('Error: ' . $e->getMessage());
}

echo 'Hello ' . $user->getFirstName() . '!<br>';
echo 'Your API token: <code>' . $token->getToken() . '</code>';