PHPackages                             biggerbluebutton/lti1p3 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. biggerbluebutton/lti1p3

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

biggerbluebutton/lti1p3
=======================

Simple Laravel + MongoDB integration for IMS LTI 1.3 (LTI Advantage).

8.0.1(1y ago)023MITPHPPHP ^8.0

Since May 2Pushed 8mo agoCompare

[ Source](https://github.com/biggerbluebutton/laravel-lti1.3-laravel)[ Packagist](https://packagist.org/packages/biggerbluebutton/lti1p3)[ RSS](/packages/biggerbluebutton-lti1p3/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (5)Versions (28)Used By (0)

[Full documentation 🤓☝️](https://xcesaralejandro.github.io/lti1p3-docs/)
------------------------------------------------------------------------

[](#full-documentation-️)

Usage
-----

[](#usage)

#### 1.- Add the package to your project

[](#1--add-the-package-to-your-project)

`composer require xcesaralejandro/lti1p3`

#### 2.- Publish the provider

[](#2--publish-the-provider)

`php artisan vendor:publish --provider="xcesaralejandro\lti1p3\Providers\Lti1p3ServiceProvider" --force`

#### 3.- Add your administrator credentials in your .ENV

[](#3--add-your-administrator-credentials-in-your-env)

```
LTI1P3_ADMIN_USERNAME=example@lti1p3.cl
LTI1P3_ADMIN_PASSWORD=lti1p3_admin

```

#### 4.- Run migrations

[](#4--run-migrations)

`php artisan migrate`

#### 5.- Complete the configuration file

[](#5--complete-the-configuration-file)

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.

##### VERIFY\_HTTPS\_CERTIFICATE

[](#verify_https_certificate)

If true, will not allow self-signed https certificates.

##### KID

[](#kid)

An identifier invented by you, this will be used to identify the public key in the Json Web Tokens (JWT)

##### PRIVATE\_KEY

[](#private_key)

A private RSA key

You can generate a new RSA private key of 2048 bit here:

Note
----

[](#note)

If you are using some reversible proxy it is possible that the package styles published by the provider will try to load with http instead of https, which produces an error. To fix the problem you can force the https scheme in your AppServiceProvider, adding `\URL::forceScheme('https'); ` in the boot method.

#### Important

[](#important)

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.

Get started with development
----------------------------

[](#get-started-with-development)

The application will publish models and controller, you can start developing from there.

After registering a platform (LMS), the package will be in charge of synchronizing and updating all the data coming from the LMS or creating it if it does not exist. With this data we refer to the information of the platform, course, resource, user, etc.

Once the launch has concluded, the LtiController is called in its different methods depending on the final state of the flow.

```
