allow passing expires_in via callback