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!
Nitpick: you don't need to pass `email_opt_in_result`; this can be inferred within the test from the value of `email_opt_in`.