Javascript JWT sha256散列不';不匹配的互联网草案的例子
我一直在努力让JWT在谷歌应用程序脚本中工作。因为我的成绩不好,所以我去了JWS互联网选秀网站:Javascript JWT sha256散列不';不匹配的互联网草案的例子,javascript,json,google-apps-script,jwt,Javascript,Json,Google Apps Script,Jwt,我一直在努力让JWT在谷歌应用程序脚本中工作。因为我的成绩不好,所以我去了JWS互联网选秀网站: eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ 使用此示例对象: {“iss”:“乔”, “经验”:1300819380, “”:true} eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6L
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
使用此示例对象:
{“iss”:“乔”,
“经验”:1300819380,
“”:true}
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
代码片段:
var eClaim = UTF8.encode(JSON.stringify(claim));
eClaim = Base64EncodeUrl(eClaim);
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
我的Base64url是:
eyJpc3MiOiJqb2UiL----CJleHAiOjEzMDA4MTkzODAs----Imh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
(-由我补充)
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
说明书上说我应该得到什么:
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
我的编码对象中有间隙(我再次添加----以显示间隙)。我认为这可能是一个\n、\r或\t,但没有一个符合预期结果。我确实将示例粘贴到了在线base64url编码器/解码器中。我的base64解码完美,示例JSON编码与我的完全相同。是我做错了什么,还是internet草稿不正确?您说您尝试了\r\n,但这是我解码后确定的
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
你的样品
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
不同之处在于示例版本中的换行符CRLF
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
他们的:
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
0000000 7b 22 69 73 73 22 3a 22 6a 6f 65 22 2c 0d 0a 20
{ " i s s " : " j o e " , cr nl sp
0000020 22 65 78 70 22 3a 31 33 30 30 38 31 39 33 38 30
" e x p " : 1 3 0 0 8 1 9 3 8 0
0000040 2c 0d 0a 20 22 68 74 74 70 3a 2f 2f 65 78 61 6d
, cr nl sp " h t t p : / / e x a m
0000060 70 6c 65 2e 63 6f 6d 2f 69 73 5f 72 6f 6f 74 22
p l e . c o m / i s _ r o o t "
0000100 3a 74 72 75 65 7d
: t r u e }
0000106
你的:
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
0000000 7b 22 69 73 73 22 3a 22 6a 6f 65 22 2c 22 65 78
{ " i s s " : " j o e " , " e x
0000020 70 22 3a 31 33 30 30 38 31 39 33 38 30 2c 22 68
p " : 1 3 0 0 8 1 9 3 8 0 , " h
0000040 74 74 70 3a 2f 2f 65 78 61 6d 70 6c 65 2e 63 6f
t t p : / / e x a m p l e . c o
0000060 6d 2f 69 73 5f 72 6f 6f 74 22 3a 74 72 75 65 7d
m / i s _ r o o t " : t r u e }
0000100
据我所知,JSON不需要在分隔符逗号后加换行符。没错,规范中的所有示例都包含换行符。这些例子一点也不错误。
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ