3rd-party pipeline supports updating email optin

Fix all the 3rd party auth scenarios.

Update pipeline to preserve parameters.

Updating tests

@wedaly @dianakhuang @rlucioni If any could review, would appreciate it!
Cool, thanks. I think using `None` makes the most sense. You use `None` as the default in `get_login_url` and `_get_url`, so it would be good to be consistent.