我知道。我知道。很多問題都與這個(gè)確切的標(biāo)題有關(guān)。但在我看過的所有這些中,我找不到一個(gè)使用 List<Claim>、issuer 和 來創(chuàng)建 JWT audience。 private string GetTokenString() { var claims = new List<Claim>() { new Claim("claim1", "foo-anything"), new Claim("claim2", "bar-anything") }; string keyValue = "1234567890qwertyuiopasdfghjklzxcvbnm"; // NOT THE REAL KEY (changed for this SO question) var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(keyValue)); var jwtToken = new JwtSecurityToken ( issuer: "https://xxxxxx.net", audience: "https://www.xxxxxx.com", claims: claims, signingCredentials: new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature), expires: DateTime.Now.AddMinutes(30) ); var handler = new JwtSecurityTokenHandler(); string tokenString = handler.WriteToken(jwtToken); return tokenString; }然后,如果我將 tokenString 插入 https://jwt.io/,我獲取簽名無效我創(chuàng)建 JWT 的方式有問題嗎?
1 回答

蕭十郎
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
查看簽名密鑰的 Base64 編碼
1234567890qwertyuiopasdfghjklzxcvbnm
結(jié)果是這樣的
MTIzNDU2Nzg5MHF3ZXJ0eXVpb3Bhc2RmZ2hqa2x6eGN2Ym5t
請(qǐng)使用此值來驗(yàn)證生成的令牌,在這種情況下,應(yīng)選中該復(fù)選框。
如果將該復(fù)選框留空,則使用與代碼中相同的值。
- 1 回答
- 0 關(guān)注
- 210 瀏覽
添加回答
舉報(bào)
0/150
提交
取消