Handle supports for unauthenticated users

- Abstract out the login URL code so that redirecting login links can be used everywhere
- Show a login prompt if an unauthenticated user tries to support