In a server generated app you can get around this by generating a token for each render of the page.
In a single page app (SPA) - one option is to set a client-side timer on your page/view that is shorter than your token expiration. At that point you can regenerate the token and reload the report passing in the new access token.