support Hybrid Flow, multiple response types, and response_mode parameter