Developer Rig - Question about Opaque IDs

So I actually brought this up with the engineer that wrote the opaque ID system, and wanted to drop an update in this thread, because learned a bunch and maybe others can learn as well.

There’s a few cases of opaque IDs:

  1. AOPAQUEID - this user is logged out of twitch and thus the opaque ID will not be persisted across sessions.
  2. UOPAQUEID - this user is logged into twitch but has not shared their identity with your extension. the opaque ID will be persisted across sessions.
  3. UOPAQUEID - this user is logged into twitch and has shared their identity with your extension. additionally in the token payload there will be a user_id field, where the value their Twitch ID. the opaque ID will be persisted across sessions.

As a user you can take two actions:

  1. Share Identity - If you are logged in and share your Twitch identity, your opaque ID remains the same.
  2. Revoke Identity - if you are logged in, have previously shared your identity, then revoke your Twitch identity with an extension, that user gets a new opaque ID.

So in the above example you can track progress on a logged in user’s opaque id. If they share their identity, you can still track the users progress. It is only at the time they revoke their identity that you can no longer track progress.

Hope that made sense!

6 Likes