Keep callback pt 2
Another long devlog, but this is a pretty important feature! When you try and access an app while not logged in, you are now redirected to the login page with a special gota parameter. This is a JWT (I realized keeping just the clientid was not enough because of scopes and a few other things), that contains where you should be redirected after logging in (in this case, the app authorization link). This is kept through every login/signup stage. Once registration is completed, you are either automatically redirected back to the app, or in the case of logging in with another device, a new Continue button appears that will redirect you. Now is also a good time to mention that the login with a device page does not auto-redirect because some legacy devices do not allow setting cookies in a 3xx status code.
Note
This greatly improves the UX for people who do not already have an account. Many sites redirect me to the home page when I log in, which for me, it sucks to go back to the page I want. Also, the backend makes sure the redirect is valid. The JWT is validated against a secret key that is made on app start, and even if the key somehow gets compromised, redirects are still not able to be abused, as the backend makes sure the redirect is to a local path, not to another domain.
Other changes
- More features added to readme featureset
- The homepage now has a link to the developer OIDC docs