authorize() uses stored values to authorize a browsing session in Banner.
On first run
The first time authorize() is run, it will request and store key values for logging into Banner, including the institutional URL, the current term, and others. The user will also be prompted to store a login username and password in the system keychain.
First-run details requested
Values requested at this stage include the following:
The base url of a Banner instance, used when navigating by web browser
The current term used internally by Banner. This might take the form of something like "202420" for the second semester of the 2023-2024 academic year.
For the login page, any url details added to the base url. Once the base url has been entered, a value is suggested.
For the course rosters page, any url details added to the base url. Once the base url has been entered, a value is suggested.
For the attendance rosters page, any url details added to the base url. Once the base url has been entered, a value is suggested.
The username used to log in to Banner.
The password used to log in to Banner.
Security considerations
The first five values are not sensitive, but the last two certainly are. The first five are stored as environmental variables. Meanwhile, the username and password are treated with heightened security, manged using rstudioapi::askForSecret() and, potentially, stored by it in the system keyring.
