Lti1p3 aims to facilitate LTI 1.3 protocol integration and provide simple integration to develop in laravel, currently the package has been successfully released on Canvas LMS and Moodle LMS.
This package does not yet have support for LTI Adventage, this means that you will not be able to use the name and role service or add qualifications
php >= 8.0
laravel >= 8.0
composer require xcesaralejandro/lti1p3
php artisan vendor:publish --provider=xcesaralejandro\lti1p3\Providers\Lti1p3ServiceProvider --force
php artisan migrate --seed
After publishing our provider, we will have a file called lti1p3.php inside the config folder, there we will have to complete the configuration. Next I will leave the keys that are REQUIRED, the rest should be by default unless you understand that you are changing.
If true, will not allow self-signed https certificates.
An identifier invented by you, this will be used to identify the public key in the Json Web Tokens (JWT)
A private RSA key
You can generate a new RSA private key of 2048 bit here: https://travistidwell.com/jsencrypt/demo/
The application will publish models and controller, you can start developing from there.
I recommend you configure a local domain to develop, since when using JWT, the default domain (localhost), 127.0.0.1 or your current IP may not work correctly for signing.
https://YOUR_APP_LARAVEL_DOMAIN/admin/login
USER: admin@lti1p3.cl
PASSWORD: lti1p3_admin
https://YOUR_APP_LARAVEL_DOMAIN/api/jwks
All the urls (except jwks) required on the respective platform are:
https://YOUR_APP_LARAVEL_DOMAIN/lti/connect