JWT Decode выдает исключение NullReferenceExceptionC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 JWT Decode выдает исключение NullReferenceException

Сообщение Anonymous »

Я создаю базовую аутентификацию с использованием JWT в ASP.NET Core MVC ver. 6. После входа в систему я устанавливаю токен для сеанса. Всякий раз, когда я захожу на панель управления, я проверяю этот токен, отправляя запросы AJAX контроллеру. С контроллера я проверяю этот токен.
Проблема в том, что функция Decode продолжает возвращать данные

NullRefferenceException

Хотя я только что жестко запрограммировал токен.
Я использую этот пакет:
JWT .Net
Вот мой ajax с панели управления:
function checkToken() {
//var token = sessionStorage.getItem("loginSession");
var data = {
token: sessionStorage.getItem("loginSession")
};
console.log(data)
$.ajax({
url: '/Auth/Validate',
type: 'POST',
contentType: "application/json",
data: JSON.stringify(data),
success: function (result) {
console.log(result);
}

})

}

Вот внутренняя часть контроллера:
using JWT.Algorithms;
using JWT.Serializers;
using JWT;
using Microsoft.AspNetCore.Mvc;
using FrontEnd.ViewModel;
using NuGet.Common;

namespace FrontEnd.Controllers
{
public class AuthController : Controller
{
public IActionResult Login()
{
return View();
}

public IActionResult Register()
{
return View();
}
public IActionResult Forgot()
{
return View();
}
[HttpPost]
public string Validate([FromBody]AuthVM authVM)
{
//var token = authVM?.token;
//if (string.IsNullOrEmpty(token))
//{
// throw new ArgumentException("Token is null or empty");
//}
var token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFzZEBlbWFpbC5jb20iLCJuYW1lIjoiTGFydWUgTW9ociJ9.l37wEV8ttLXBW5pMa8dMj7iAz6eWnaqiMbG93gpUOzA";

IJwtAlgorithm algorithm = new HMACSHA256Algorithm();
IJsonSerializer serializer = new JsonNetSerializer();
IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();

IDateTimeProvider provider = new UtcDateTimeProvider();
IJwtValidator validator = new JwtValidator(serializer, provider);
IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder, algorithm);

var payload = decoder.Decode(token);

return payload;

}
}
}


и ViewModel :
namespace FrontEnd.ViewModel
{
public class AuthVM
{
public string token { get; set; }
}
}


Как видите, я отправляю токен из запросов Ajax и получаю его через модель представления под названием AuthVM
Я могу получить его, вызвав authVm.token< /code> выдает ошибку NullReferenceException. Затем я попытался жестко запрограммировать токен, но он все равно возвращает эту ошибку.
Я объявляю неправильную функцию декодирования?
Вот трассировка стека
code> я получаю ошибку
System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
Source=JWT
StackTrace:
at JWT.JwtDecoder.c.b__20_0(Byte[] key)
at System.Array.TrueForAll[T](T[] array, Predicate`1 match)
at JWT.JwtDecoder.ValidSymmetricAlgorithm(Byte[][] keys, String decodedPayload, IJwtAlgorithm algorithm, Byte[] bytesToSign, Byte[] decodedSignature)
at JWT.JwtDecoder.Validate(JwtParts jwt, Byte[][] keys)
at JWT.JwtDecoder.Decode(JwtParts jwt, Byte[][] keys, Boolean verify)
at FrontEnd.Controllers.AuthController.Validate(AuthVM authVM) in C:\Users\Redactedhehe\source\repos\UniversityAPI\FrontEnd\Controllers\AuthController.cs:line 54



Подробнее здесь: https://stackoverflow.com/questions/790 ... eexception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • SKBitmap resourcesID = SKBitmap.Decode(поток); выдает исключение System.ArgumentNullException:
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Декодирование JWT, AttributeError: объект 'str' не имеет атрибута 'decode'
    Anonymous » » в форуме Python
    0 Ответы
    55 Просмотры
    Последнее сообщение Anonymous
  • SKBitmap resourceID = SKBitmap.Decode(stream); выдает ошибку System.ArgumentNullException:
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Файл большего размера не может быть проиндексирован и выдает исключение NullReferenceException [дубликат]
    Anonymous » » в форуме C#
    0 Ответы
    49 Просмотры
    Последнее сообщение Anonymous
  • MySql.Data ExecuteNonQuery выдает исключение NullReferenceException
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»