Canvas Developer Key is a robust alternative to the access token approach as any Canvas REST endpoint (scope) can be enabled or disabled for integrations.
To set up the REST API integration you need to do these things
- Create an API developer key in your Canvas environment
- Configure Ally with the Canvas developer key
Create an API developer key
A Canvas API Developer Key is essentially a key ID and secret pair combined with a specific scope configuration.
- Go to the root account of the Canvas instance and go to Developer keys.
- Select the + Developer Key button and select API Key.
- Provide a Key Name and Owner Email.
- Copy and paste this link into the Redirect URIs field. Replace [AllyEnvironment] with the environment information your institution is hosted in. Replace [ClientID] with your Client ID.
https://[AllyEnvironment]/api/v2/[ClientId]/auth/canvas/callback
- Select the Enforce Scopes toggle to turn it on.
- Check the Allow Include Parameters check box.
- Enable these scopes from the table:
Enable these scopes Scope name Section url:GET|/api/v1/accounts Accounts url:GET|/api/v1/accounts/:id Accounts url:GET|/api/v1/accounts/:account_id/sub_accounts Accounts url:GET|/api/v1/accounts/:account_id/courses Accounts url:GET|/api/v1/courses/:course_id/assignments Assignments url:GET|/api/v1/courses/:course_id/assignments/:id Assignments url:PUT|/api/v1/courses/:course_id/assignments/:id Assignments url:GET|/api/v1/courses/:course_id/blueprint_subscriptions Blueprint Courses url:GET|/api/v1/courses/:course_id/blueprint_subscriptions/:subscription_id/migrations Blueprint Courses url:GET|/api/v1/courses/:course_id/content_migrations Content Migrations url:GET|/api/v1/courses/:id Courses url:PUT|/api/v1/courses/:id Courses url:POST|/api/v1/courses/:course_id/files Courses url:GET|/api/v1/courses/:course_id/discussion_topics Discussion Topics url:GET|/api/v1/courses/:course_id/discussion_topics/:topic_id Discussion Topics url:PUT|/api/v1/courses/:course_id/discussion_topics/:topic_id Discussion Topics url:GET|/api/v1/accounts/:account_id/terms Enrollment Terms url:GET|/api/v1/courses/:course_id/files Files url:GET|/api/v1/courses/:course_id/files/:id Files url:PUT|/api/v1/files/:id Files url:DELETE|/api/v1/files/:id Files url:GET|/api/v1/courses/:course_id/media_objects Media Objects url:PUT|/api/v1/media_objects/:media_object_id Media Objects url:GET|/api/v1/media_objects/:media_object_id/media_tracks Media Objects url:PUT|/api/v1/media_objects/:media_object_id/media_tracks Media Objects url:GET|/api/v1/courses/:course_id/pages Pages url:GET|/api/v1/courses/:course_id/pages/:url_or_id Pages url:PUT|/api/v1/courses/:course_id/pages/:url_or_id Pages url:GET|/api/v1/courses/:course_id/quizzes Quizzes url:GET|/api/v1/courses/:course_id/quizzes/:id Quizzes url:PUT|/api/v1/courses/:course_id/quizzes/:id Quizzes - Select Save.
- The new key is added to the Developer keys page and is Off by default.
- Turn the new key on.
- Copy the key ID number in the Details column.
Ally environment for your region
Use the information for the Ally environment your institution is hosted in.
- US data center: prod.ally.ac
- Canadian data center: prod-ca-central-1.ally.ac
- European data center: prod-eu-central-1.ally.ac
- Singapore data center: prod-ap-southeast-1.ally.ac
- Australian data center: prod-ap-southeast-2.ally.ac
Configure Ally with the developer key
You need to be signed into both your Canvas environment and your Ally Configuration page.
- Go to your Ally Configuration page and select the Canvas Developer Key tab.
- Select Configure Ally with Canvas Developer Key.
- Copy and paste the key and secret of the API developer key you created.
- Select Save and grant access.
- Select Authorize to grant Ally permission to use the Canvas Developer Key.
In the background, Ally will run a quick (minimal) check to ensure the correct scopes were added on the Canvas Developer Key.
All things being well, you should be redirected back to the configuration tool with a message saying the integration was configured correctly.