Core functionality shared between EasyAuth's OAuth implementations