Now works with linking accounts.
- Carries state correctly over the external signin.
- Sets authenticationtype correctly for nicer display.