shippinno/oauth2-next-engine

为 PHP League OAuth2-Client 提供的 Next Engine OAuth 2.0 客户端提供程序

0.0.1 2017-06-07 15:38 UTC

This package is not auto-updated.

Last update: 2024-09-20 19:35:15 UTC


README

Scrutinizer Code Quality Code Coverage Build Status Build Status

本包为 PHP League 的 OAuth 2.0 客户端 提供了 Next Engine OAuth 2.0 支持。

安装

要安装,请使用 composer

composer require w-takumi/oauth2-next-engine

用法

用法与 The League 的 OAuth 客户端相同,使用 \Shippinno\NextEngine\OAuth2\Client\Provider\NextEngineProvider 作为提供者。

授权码流

<?php

$provider = new \Shippinno\NextEngine\OAuth2\Client\Provider\NextEngineProvider([
    'clientId'          => '{next-engine-client-id}',
    'clientSecret'      => '{next-engine-lient-secret}',
    'redirectUri'       => 'https://example.com/callback',
]);

if (!isset($_GET['uid']) || !isset($_GET['state'])) {
    $authUrl = $provider->getAuthorizationUrl();
    header('Location: '.$authUrl);
    exit;
} else {
    $token = $nextEngineProvider->getAccessToken('client_credentials', [
        'uid' => $_GET['uid'],
        'state' => $_GET['state']
    ]);

    try {
        $user = $provider->getResourceOwner($token);
        printf('Hello %s!', $user->getCompanyName());
    } catch (Exception $e) {
        exit('Oh dear...');
    }
    
    echo $token->getToken();
}