Abstract out the rquest for different grant type