Provide a default code grant

This provides the best of both worlds where most users can get a default workflow (`generate -> save`) and if a user wants a more customizable workflow it can set the `createAuthorizationCode`