我知道。我知道。很多問題都與這個確切的標題有關。但在我看過的所有這些中,我找不到一個使用 List<Claim>、issuer 和 來創建 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/,我獲取簽名無效我創建 JWT 的方式有問題嗎?
1 回答

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
查看簽名密鑰的 Base64 編碼
1234567890qwertyuiopasdfghjklzxcvbnm
結果是這樣的
MTIzNDU2Nzg5MHF3ZXJ0eXVpb3Bhc2RmZ2hqa2x6eGN2Ym5t
請使用此值來驗證生成的令牌,在這種情況下,應選中該復選框。
如果將該復選框留空,則使用與代碼中相同的值。
- 1 回答
- 0 關注
- 194 瀏覽
添加回答
舉報
0/150
提交
取消