为什么 Azure B2C 访问令牌这么长

Why is the Azure B2C Access Token so long

我从 Azure B2C 取回的访问令牌对于本地电子邮件登录是 926 个字符,对于 facebook 登录是 1354 个字符。 Facebook 登录时间更长,因为我在令牌中包含了用户图片,但除此之外,我没有在令牌中放入任何用户数据(不是姓名、用户名或其他类似信息)。

因为每次调用 API 时我都必须发送访问令牌来获取数据,所以我想知道为什么它这么长以及什么可能会影响它。我是否配置了一些增加其长度的东西,或者这只是正常现象?

来自 jwt.ms 的解码 jwt 的审查版本:

{
  "typ": "JWT",
  "alg": "RS256",
  "kid": "***"
}.{
  "exp": ***,
  "nbf": ***,
  "ver": "1.0",
  "iss": "***",
  "sub": "***",
  "aud": "***",
  "acr": "b2c_1a_signup_signin",
  "nonce": "defaultNonce",
  "iat": ***,
  "auth_time": ***,
  "picture": "***",
  "idp": "facebook.com",
  "tid": "***"
}.[Signature]

JWT 有 3 个部分,header、payload、signature。你只能影响有效负载的长度,它由你希望 Azure AD B2C 放入令牌的声明配置。

除了 idp 和图片声明之外,您的整个负载主要由必需的声明组成。

如果需要这两个声明,这里没有什么可以优化的。