1. Go to this page and download the library: Download smtech/oauth2-canvaslms library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
smtech / oauth2-canvaslms example snippets
use smtech\OAuth2\Client\Provider\CanvasLMS;
session_start();
/* anti-fat-finger constant definitions */
define('CODE', 'code');
define('STATE', 'state');
define('STATE_LOCAL', 'oauth2-state');
$provider = new CanvasLMS([
'clientId' => '160000000000127',
'clientSecret' => 'z4RUroeMI0uuRAA8h7dZy6i4QS4GkBqrWUxr9jUdgcZobpVMCEBmOGMNa2D3Ab4A',
'purpose' => 'My App Name',
'redirectUri' => 'https://' . $_SERVER['SERVER_NAME'] . '/' . $_SERVER['SCRIPT_NAME'],
'canvasInstanceUrl' => 'https://canvas.instructure.com'
]);
/* if we don't already have an authorization code, let's get one! */
if (!isset($_GET[CODE])) {
$authorizationUrl = $provider->getAuthorizationUrl();
$_SESSION[STATE_LOCAL] = $provider->getState();
header("Location: $authorizationUrl");
exit;
/* check that the passed state matches the stored state to mitigate cross-site request forgery attacks */
} elseif (empty($_GET[STATE]) || $_GET[STATE] !== $_SESSION[STATE_LOCAL]) {
unset($_SESSION[STATE_LOCAL]);
exit('Invalid state');
} else {
/* try to get an access token (using our existing code) */
$token = $provider->getAccessToken('authorization_code', [CODE => $_GET[CODE]]);
/* do something with that token... (probably not just print to screen, but whatevs...) */
echo $token->getToken();
exit;
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.