C# JWT令牌如何拆分声明和签名

C# JWT令牌如何拆分声明和签名,c#,.net,authentication,token,C#,.net,Authentication,Token,在JWT令牌身份验证中,提到“.”用于拆分令牌的3个部分(头、声明、签名)。但如果我的签名或编码声明包含“.”,则很难确定第3节的确切内容。Anybosy遇到了这种情况,或者怎么处理 我使用HMACSHA256(编码的json声明)生成了签名,但我在签名数据中间得到了“.”。当我连接所有3个部分时,我会得到一个额外的“JWT标记的三个部分都是,因此永远不会包含点字符 即使您的声明或签名包含该字符,在base64编码该部分后,点将不再显示在输出中。如果这三个部分的顺序是标题、声明和签名,您应该知道

在JWT令牌身份验证中,提到“.”用于拆分令牌的3个部分(头、声明、签名)。但如果我的签名或编码声明包含“.”,则很难确定第3节的确切内容。Anybosy遇到了这种情况,或者怎么处理


我使用HMACSHA256(编码的json声明)生成了签名,但我在签名数据中间得到了“.”。当我连接所有3个部分时,我会得到一个额外的“

JWT标记的三个部分都是,因此永远不会包含点字符


即使您的声明或签名包含该字符,在base64编码该部分后,点将不再显示在输出中。

如果这三个部分的顺序是标题、声明和签名,您应该知道第二个“后”部分是签名,对吗?是的,标题和声明是Base64URLEncoder编码的内容。我的疑问是,如果标题/声明也包含“.”从我看到的情况来看,他们在官方网站上使用HMACSHA256(base64UrlEncode(标题)+“+base64UrlEncode(有效负载),secret)