Finally discovered NIP-07, then was walking the dog when I finally realized how to use it. Got back and discovered NIP-98 (HTTP Auth) already exists and describes exactly what to do.
That covers the login button, now I just need to figure out how to verify the signature on the backend. Progress!