D2L Credential Harvester

This tool is intended to assist in gathering user credentials for building server / user-less automated API calls to D2L's Brightspace API.

Why?

Usually when you're creating an "app" in D2L, the intent is to have users access the app iteractively using their user credentials.

This pattern usually goes as follows:

This is less useful in an automated situation -- we don't have a "user" to be doing actions. Instead, you should create a service account with access to relevant information for your purposes, and log them in via this page to grab the credentials necessesary to do automated stuff.

What you will need

Start with your service account. Contact IST to create a generic account, and in the ticket let them know the account will need to authenticate / log in to LEARN.

Once you have your service account, reach out to the LEARN team to create your app in D2L. When submitting this request, include the following:

You may need to include someone to approve access to this data if it's sensitive (most LEARN data is!)

With all this done, you should have an app id, an app key and a service account that you can log in with.

Credential Harvester

Note: When you click log in you will be taken to the LEARN server. Verify the URL and log in with the service account, not your personal account. It may be easiest to use an incognito/private window if you already have an account logged in.

Results will appear here after logged in

What do I do with this?

You can use the resulting user id and user key to make queries against the Brightspace API, which will let you access any data that your user account has access to, and is enabled on the app settings for your app.

We provide a simple python library for connecting to the data: