This pattern means that every time we enable a new type of external login, we'll also have to enable a new registration link, which is really grungy. It seems to me that we should have a single login link that dispatches to the appropriate backend function depending on the registration method required.