Extension EBS, Logging in users with Opaque ids. Good or bad idea?

Hi, we have an extension which requires users to be logged in, in order to work, but will work only with Authenticated users.

We are logging users into our EBS using the Twitch Opaque Id as according to this post, this is the same for logged in users always.

Yet it seems that when users link and unlink their account that Opaque Id changes.
Also it seems that it’s different when the user is on it’s own channel.

Is there a better way to log users into our EBS, or any workaround on this ?
Any suggestions?

Opaque ID’s are not a static reference to a user.

Opqaue ID’s are more like “temproary session ID’s”

So you will want to track users by the userID not their temporary ID.

Yes I’m aware of this, but how about Users that haven’t linked their Twitch Account with the Extension (Allow the extension to access their data) ?

Then you’d use the opaque ID to track them until they login, then merge data from that session into a user.

Consider this scearnio

Your extension is a game.
You let everyone play level 1 of the game.
You save their progress against their opaqueID (if logged out) or userID if logged in
Then at the end of level 1 you ask then to login to the game
Then you copy/merge the data from a logged out session to a logged in userID. (In case they were logged in logged out played level 1 and then logged in again)

Alternatively, require the user to login before doing anything

Ok thank you. This is the flow we wanted to follow, but wanted to confirm if there’s a better way.