interface: define authorize_with_code