Rework the different grant types to support the hybrid flow