Squashed commit. Not tested yet. Going to test with an https uri after committing this. The workflow for using same reducer for both implicit and authorization code OAuth 2. With middleware playing a big part.