Help with reauthentication config flow implementation

I’m trying to implement reauthentication, but am struggling with the implementation of the required methods in the config flow.

I have the following initial setup:

async def async_step_user(self, user_input=None):
        self._errors = {}
        if user_input is not None:
            return self.async_create_entry(
        return self.async_show_form(
            step_id="user", data_schema=vol.Schema({vol.Required(CONF_ACCESS_TOKEN): cv.string})

All I want to do during reauth is prompt the user to enter a new access token and then reload the integration.
Is the function async_step_reauth_confirm mandatory / can I just always return the setup flow? If that’s the case how (and where) would I then reload my integration?