This project has several sample routes exposed through a Node server that can be used in order to execute sample extensibility functionality that Brightspace provides. The samples are a good place to start when looking to extend the Brightspace platform using APIs or Remote Plugins over LTI. Initially we targeted some popular requests and some APIs that can be complex to use with intent of adding more examples in the future. To learn more or ask questions specific to your needs of extending the platform, the Brightspace Community is a great place to visit.
Please note, this repo is not intended to be used as production code.
Out of the box this solution was built to work with the Devcop Brightspace instance that is available through the Brightspace Community Developer group. If you are not a member, you can easily join in order to access credentials for the Devcop instance. To register you can sign up here and access the Developer group here.
- Make sure you have Node installed locally on your computer.
- Download the latest release of the code.
- Open a command terminal at the root of the project.
- Execute the following command to install the required packages for the project:
npm install
- Now that the required Node packages are installed the local node server can be started by running:
npm run local
- The server should now be up and running locally and in a browser you can navigate to: https://localhost:3434
* Note: The reason we have to create a self signed certificate and host over HTTPS is that the OAuth 2.0 Authentication method requires an HTTPS endpoint. This means that in a browser such as Chrome you may have to accept and/or proceed the warning presented when first accessing the index page.
There are several different configurations that can be used to change how some of the APIs work and what the APIs execute against. For a detailed description of what the configurations are and how you can change them please see Configurations.
It is not recommended to commit your application key or client secret to ANY repository. In the configurations file the keys were generated against the devcop Brightspace instance which can be used for developer testing.
When using the Brightspace APIs there are two available authentication methods:
The sample solution provided allows you to toggle between both implementations and all sample API requests have been written to perform the call with both authentication types. See Authentication for further details on this implementation.
The following API samples are available in this solution:
The following Brightspace Remote Plugin examples that implement the LTI Content-Item Message (CIM) standard are available:
- Brightspace APIs
- Brightspace Community - Developer Discussions
- Brightspace Components
- Brightspace UI
Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.