handle github authentication