Как правильно получить jwt токен?

Использую либу jose-jwt. При отправке на сервер ругается - говорит malformed jwt. Подскажите где я допустим ошибку

string PrivKey = "{" +
    "\"kty\":\"EC\",\"alg\":\"ES256\",\"crv\":\"P-256\"," +
    "\"x\":\"pSH0jvbtVZiseTpJZk0_yfudEIv86uwjeH_gr1qmOGA\"," +
    "\"y\":\"eGdC9EIGmhCheM_T8vhS4Qwk7RfaPRBxF3W5omgBc_M\"," +
    "\"d\":\"DuSjR5eZBp5S-9HNKA8kRQFA_3Akkept-dTbwFoq_3w\"" +
    "}";

var js = new JavaScriptSerializer();
var jwk = js.Deserialize<IDictionary<string, string>>(PrivKey);


byte[] x = Base64Url.Decode(jwk["x"]);
byte[] y = Base64Url.Decode(jwk["y"]);
byte[] d = Base64Url.Decode(jwk["d"]);


var headers = new Dictionary<string, object>()
{
     { "kid", 2}
};

var payload = new Dictionary<string, object>()
    {
        { "email", "[email protected]" },
        { "aud", "usr" },
        { "iat", ts},
        { "jti", Guid.NewGuid().ToString() },
    };

var privateKey = EccKey.New(x, y, d);

string token = Jose.JWT.Encode(payload, privateKey, JwsAlgorithm.ES256,headers);

Ответы (0 шт):