This is a version that supports the MFA requirement.
I added the authorization to the new device wizard. First the user enters their credentials and when they receive their MFA code they can enter it in the now visible box. Then pressing authorize this MFA code is posted to get the refresh token and bearer token.
The refresh token is then stored and a refresh pattern has been added to use that token to get new bearer tokens. So no more user credentials are being stored and the app should remain authorized for a long period (not very well tested at this moment).
This is a version that supports the MFA requirement. I added the authorization to the new device wizard. First the user enters their credentials and when they receive their MFA code they can enter it in the now visible box. Then pressing authorize this MFA code is posted to get the refresh token and bearer token. The refresh token is then stored and a refresh pattern has been added to use that token to get new bearer tokens. So no more user credentials are being stored and the app should remain authorized for a long period (not very well tested at this moment).