Amazing, this works perfectly now. But when I posted this I had just watched it not working for a user going through sign up. I wonder whether there was a confusion between the browser window they signed up in and the browser window they did the approval with.
Anyways, that describes it perfectly, thank you very much, I couldn’t find the part of the documentation that explained what this process is supposed to look like.