I haven’t played with the latest version of the rig so I’m not up to date on how it generates opaque ID’s for testing, but there are some things to keep in mind:
There are 2 types of Opaque IDs, ones prefixed by a U and ones prefixed by an A.
If the ID starts with a U it means that the user is logged in to Twitch, and so that ID will persist only for the length of their session (so it’ll persist through refreshes, but wont lat indefinitely). Ideally you should not rely on this as a key for long-term storage of user data.
If it’s prefixed by an A it means the user is not logged in to Twitch, and so this ID will change every time they load the page. Not only that, but it is possible for different users to have the same ID over time, so it is highly recommended not to be used as a key for storing any data beyond the very short term.
If you want to properly store data for a user, then the recommended way is to have them grant access to your app to view their User ID, which can then be decoded from the JWT token, as the Twitch User ID will never change.