OAuth Invalid/Unknown Client Error
Are developer credentials from Canvas limited to a particular Canvas shard?
Okay, so this one has really stumped me. I have some LTI applications that are being used by a variety of institutions on a variety of Canvas instances. I was working with an institution to install one of the tools and I keep getting the following error from the https://<institution>.instructure.com/login/oauth2/auth page:
"error_description": "unknown client",
"message": "invalid client_id"
Has anyone encountered this before or know how to go about diagnosing the issue?
Here is some additional information that may be helpful:
- My client ID is correct in the URL.
- My developer credentials came through Instructure (not those you can now generate at the institution level).
- My developer credentials have been used successfully in 6+ different Canvas instances.
Thanks in advance for any help.
So, ran into this issue as well. In my case it appears the instance I was working on is self-hosted, and I needed the Admin to create a developer key the allows access to my client ID.
Not sure this is valid for your case though, as I see your note below:
- My developer credentials came through Instructure (not those you can now generate at the institution level)
The main difference again is the instance I am working on is out of the norm as a self-hosted Canvas instance.
Thanks for you input @stephen_isenber . It is nice to know that this issue will also arise on a self-hosted instance. While the instance I am working with is not self-hosted, it is not a typical Canvas instance so the core issue may be the same.
We've also encountered this error message when self-hosted Canvas instances attempt to connect to Badgr. We've narrowed it down to an incorrectly entered developer key or secret or that Redis had not been installed. I am curious to hear more about how others have encountered or resolved this issue. Thank you!
Thanks for your research on this, it's helped me out. I've gotten myself a developer key now, but I'm wondering how I might apply that to my routes? Where exactly should my clients put this developer key? In the route::get that redirects to the authentication page, perhaps?