User/Channel ID needs to be a string
The documentation for creating signing JWT's don't explicitly state that
channel_id in JWT's need to be an explicit string literal
exp is the Unix epoch timestamp when the payload will expire. Be sure to provide a buffer, to allow potential positive time drift.
user_id is the Twitch user ID that owns the extension, where the user ID is cast as a string literal.
role is set to external.