make credential provider async