This answers assumes that your resource identifiers are equivalent to what OAuth2 describes as scopes as from your description their purpose seems very similar - constrain the reach of the access token.
When issuing an access token refresh request the specification states that you can include a scope
parameter, however:
The scope of the access request as described by Section 3.3. The requested scope MUST NOT include any scope not originally granted by the resource owner, and if omitted is treated as equal to the scope originally granted by the resource owner.
Additionally, as part of the response a new refresh token could be issued, but again:
The authorization server MAY issue a new refresh token (...) If a new refresh token is issued, the refresh token scope MUST be identical to that of the refresh token included by the client in the request.
(emphasis is mine, section 6. of the specification)
This means that, per the specification, automatically adding new scopes/resources to an access token is not compliant. However, you don't need to logout the users, you should only need to request the resource owner consent for the new scopes.
Again, this is what the specification states about scopes which does seem to match your usage scenario. However, there are some scenarios where this would not apply so strictly or end up not having a real impact. If a single organization controls the authorization server and client application it can decide that some application enjoy what's sometime known as administrative consent which is basically the resource owner isn't asked for explicit consent because this is a trusted application. In these cases, you could increase scopes/resources without any type of user intervention.