首頁 > 後端開發 > C++ > 如何使用 JwtSecurityTokenHandler 正確解碼 JWT 令牌?

如何使用 JwtSecurityTokenHandler 正確解碼 JWT 令牌?

Mary-Kate Olsen
發布: 2025-01-06 21:59:45
原創
320 人瀏覽過

How to Properly Decode JWT Tokens Using JwtSecurityTokenHandler?

使用JwtSecurityTokenHandler 解碼JWT 令牌

使用JWT 時,能夠對其進行解碼以進行身份驗證和授權至關重要。但是,一些開發人員在使用 JwtSecurityTokenHandler 類別時可能會遇到錯誤。

請考慮以下程式碼:

public void TestJwtSecurityTokenHandler()
{
    var stream ="eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJJU1MiLCJzY29wZSI6Imh0dHBzOi8vbGFyaW0uZG5zY2UuZG91YW5lL2NpZWxzZXJ2aWNlL3dzIiwiYXVkIjoiaHR0cHM6Ly9kb3VhbmUuZmluYW5jZXMuZ291di5mci9vYXV0aDIvdjEiLCJpYXQiOiJcL0RhdGUoMTQ2ODM2MjU5Mzc4NClcLyJ9";
    var handler = new JwtSecurityTokenHandler();

    var jsonToken = handler.ReadToken(stream);
}
登入後複製

此程式碼可能會拋出錯誤,指出字串不符合所需的緊湊 JSON格式。解決方案是將 ReadToken 的結果轉換為 JwtSecurityToken 物件。

var stream ="eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJJU1MiLCJzY29wZSI6Imh0dHBzOi8vbGFyaW0uZG5zY2UuZG91YW5lL2NpZWxzZXJ2aWNlL3dzIiwiYXVkIjoiaHR0cHM6Ly9kb3VhbmUuZmluYW5jZXMuZ291di5mci9vYXV0aDIvdjEiLCJpYXQiOiJcL0RhdGUoMTQ2ODM2MjU5Mzc4NClcLyJ9";
var handler = new JwtSecurityTokenHandler();
var jsonToken = handler.ReadToken(stream);
var tokenS = jsonToken as JwtSecurityToken;
登入後複製

或者,可以使用 ReadJwtToken 方法。

var stream ="eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJJU1MiLCJzY29wZSI6Imh0dHBzOi8vbGFyaW0uZG5zY2UuZG91YW5lL2NpZWxzZXJ2aWNlL3dzIiwiYXVkIjoiaHR0cHM6Ly9kb3VhbmUuZmluYW5jZXMuZ291di5mci9vYXV0aDIvdjEiLCJpYXQiOiJcL0RhdGUoMTQ2ODM2MjU5Mzc4NClcLyJ9";
var handler = new JwtSecurityTokenHandler();
var jwtSecurityToken = handler.ReadJwtToken(stream);
登入後複製

這些修改會將令牌轉換為正確的類型,允許您存取他們的聲明並驗證它們以進行授權。

以上是如何使用 JwtSecurityTokenHandler 正確解碼 JWT 令牌?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板