Skip to content
This repository has been archived by the owner on Apr 12, 2023. It is now read-only.

A Laravel Package to allow for the development of apps on top of the Schoology platform. Built by modifying and combining these packages: aacotroneo/laravel-saml2 and schoology/schoology_php_sdk.

License

avanderbergh/laravel-schoology

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Schoology

A Laravel 5 package that provides an easy way to create Schoology applications using the Laravel framework. This package combines modified files from aacotroneo/laravel-saml2 and schoology/schoology_php_sdk into a new package.

Installation with Composer

Run the following command in your app's root directory composer require avanderbergh/laravel-schoology.

When the installation finishes, add add the following to config/app.php.

'providers' => [
    ...
    Avanderbergh\Schoology\Saml2ServiceProvider::class,
    Avanderbergh\Schoology\SchoologyServiceProvider::class,
]
'aliases' => [
    ...
    'Schoology' => Avanderbergh\Schoology\Facades\Schoology::class,
]

Once this has been added, run the command php artisan vendor:publish to copy the settings and migrations files to your Laravel config and database/migrations directories. Now run the command php artisan migrate to create the oauth_store and schoology_users tables. These tables are used to store oauth access tokens and user information retrieved from Schoology.

Once the tables have been created, you will need to edit the config/auth.php file. In the User Providers section, change the model key for the users provider to Avanderbergh\Schoology\SchoologyUser::class, The file should now look like this:

...
    ...
    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => Avanderbergh\Schoology\SchoologyUser::class,
        ],
    ...
...

CSRF Token Verification Middleware

For this package to work, you will need to exclude the 'saml/' route from Laravel's CSRF verification middleware. Open app/Http/Middleware/VerifyCsrfToken.php, and enter 'saml/' into the $except array.

###The file should now look like this:

class VerifyCsrfToken extends BaseVerifier
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        'saml/*'
    ];
}

Usage

Set your application's SAML ACS URL to [yourdomain]/saml/acs in Schoology.

Create the following keys in your .env file:

CONSUMER_KEY='Your Schoology Oauth Consumer Key'
CONSUMER_SECRET='You Schoology Oauth Consumer Secret'

Create a route and enter that as your App URL in the Schoology App Center. The user will be routed to this URL once they have been authenticated.

Now, to make API calls to Schoology, simply use the registered Facade for php Schoology . Use the line php Schoology::authorize(); ```` to authorize. You can now make API calls using, for example, php` $users = Schoology::apiResult('users'); ```. That's it!

About

A Laravel Package to allow for the development of apps on top of the Schoology platform. Built by modifying and combining these packages: aacotroneo/laravel-saml2 and schoology/schoology_php_sdk.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages