I'm working on an app that will allow the user to import their Canvas calendar into the apps calendar. I want to allow the user to provide the user to provide to provide the institution, userName & password, then we'll call this API (https://<institution>.instructure.com/api/v1/users/self/profile) to retrieve their profile and get theri iCal url. I can make my calls work when I manually generate a bearer token from user's Account/Settings page in canvas, but I'm not sure how the OAuth2 path works. A couple questions this leads me to.
Is there an authentication path that accepts the user's username & password? If so, how? If not, how do I validate the user's credentials?
How would I make this work with multiple institutions? Will we need a developer key for each institution, or is there another way?