什么是 JWT 中的共享秘密



Silhouette中,可以使用以下类创建JWT身份验证器

JWTAuthenticatorSettings(fieldName: String = "X-Auth-Token", requestParts: Option[Seq[api.util.RequestPart.Value]] = Some(Seq(RequestPart.Headers)), issuerClaim: String = "play-silhouette", authenticatorIdleTimeout: Option[FiniteDuration] = None, authenticatorExpiry: FiniteDuration = 12 hours, sharedSecret: String)

sharedSecret有什么用?这是应用程序在对 JWT 标头/声明有效负载进行签名时使用的内容吗?

HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
sharedSecret)

查看公式,看起来sharedSecret应该只是secret。这很重要,因为它不应与客户共享。通常,只有一个(或多个(secret参数用于所有客户端。也许从这个意义上说,它是共享的。

最新更新