This half of the PR handles what should be all the delegate interfacing that we currently have available. Editing badges is not currently implemented but when they are, delegates should be able to do that too.
I added an API end point that simply gets the User object (just address actually) from a request with stored csrf credentials. If not, the usual not authenticated errors appear which the front end handles.
This was necessary to better support wallet switching and reduce the number of signatures that someone switching back and forth would have to sign. This way, if someone switches accounts, they receive an error message saying the account has changed, and to either sign in again or switch back to {account_address}. Switching back then does not require another signature. If this is an issue please be my guest to resolve as I spent a long time trying to find a way around it with no success.
Finally, I decided not to surface a signature request for this reason, as well as I find it annoying when I have the tab open doing other things and suddenly get a signature request. Personally, I want to do this to when we switch to a different chain as well. Surface it once but not again.
This will come with a push that better handles chain error messages and switching if approved, though.