Pass client_id and client_secret as payload

Other endpoints just need the access token
Fix mergeing of auth token into headers
Extract Github PATCH into a class
Apply 'Template class'