twetech/oauth2-ninjaone

This package is abandoned and no longer maintained. No replacement package was suggested.
There is no license information available for the latest version (1.0) of this package.

Maintainers

Package info

github.com/twetech/oauth2-ninjaone

pkg:composer/twetech/oauth2-ninjaone

Statistics

Installs: 11

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 0

1.0 2024-08-23 22:18 UTC

This package is auto-updated.

Last update: 2025-03-23 23:54:10 UTC


README

This package provides NinjaOne OAuth 2.0 support for the PHP League's OAuth 2.0 Client.

Installation

To install, use composer:

composer require twetech/oauth2-ninjaone

Usage

Usage is the same as The League's OAuth client, using \League\OAuth2\Client\Provider\Ninjaone as the provider.

Authorization Code Flow

$provider = new League\OAuth2\Client\Provider\Ninjaone([
    'clientId'          => '{ninjaone-client-id}',
    'clientSecret'      => '{ninjaone-client-secret}',
    'redirectUri'       => 'https://example.com/callback-url'
]);

if (!isset($_GET['code'])) {

    // If we don't have an authorization code then get one
    $authUrl = $provider->getAuthorizationUrl();
    $_SESSION['oauth2state'] = $provider->getState();
    header('Location: '.$authUrl);
    exit;

// Check given state against previously stored one to mitigate CSRF attack
} elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) {

    unset($_SESSION['oauth2state']);
    exit('Invalid state');

} else {

    // Try to get an access token (using the authorization code grant)
    $token = $provider->getAccessToken('authorization_code', [
        'code' => $_GET['code']
    ]);

    // Use this to interact with an API on the users behalf
    echo $token->getToken();
}