tests(oauth): Add WebChannel functional tests

Couldn't this promise chain be flattened out?