org.jose4j.jwt.JwtClaims 中的方法 setGeneratedJwtId() 有什么作用?

What does the method setGeneratedJwtId() from the org.jose4j.jwt.JwtClaims do?

我正在尝试创建需要发送到外部令牌端点的 JWT。 外部提供者要求 POST 主体有一个 JWT,它由几个参数组成,其中一个是“jti”。我浏览了文档,知道“jti”的用途。

The "jti" (JWT ID) claim provides a unique identifier for the JWT. The identifier value MUST be assigned by the you in a manner that ensures that there is a negligible probability that the same value will be accidentally assigned to a different data object; if the application uses multiple issuers, collisions MUST be prevented among values produced by different issuers as well. The "jti" claim can be used to prevent the JWT from being replayed. The "jti" value is a case-sensitive string.

现在要创建 JWT,我正在使用 org.jose4j.jwt.JwtClaims,它有一个方法 setGeneratedJwtId(),但是当我浏览了文档 https://javadoc.io/doc/org.bitbucket.b_c/jose4j/0.4.4/org/jose4j/jwt/JwtClaims.html#setGeneratedJwtId(),关于此方法的信息不多。

从方法名称来看,它相当暗示它正在生成某种 id,但我需要知道生成的 id 的类型是什么,字符有多长,是字母数字还是任何其他类型。

任何人都可以提供这方面的信息。

生成的“jti”声明值将采用 base64url 编码的随机 16 字节(128 位),即 22 个字符的字母数字以及“_”和“-”。