ASP.NET Web API Использование HMAC в.NET Core

Я хочу защитить проект ASP.NET Web API с помощью аутентификации HMAC.

Этот проект REST API будет использоваться сторонними разработчиками для доступа к данным моего приложения.

Я пытаюсь адаптировать этот пост в.NET Core безуспешно...

Некоторые из используемых классов / интерфейсов больше не существуют (например, IAuthenticationFilter, HttpAuthenticationContext, HttpAuthenticationContext, IHttpActionResult)

Как я могу добавить образец атрибута HmacAuthentication к моим методам API, чтобы защитить их с помощью HMACSHA256?

Спасибо за ваши ответы!

1 ответ

Вместо одного объекта HMAC вы должны создавать экземпляры объектов для каждого алгоритма.

Вместо

HMAC hmac = HMAC.Create("HMACSHA256");

Вы можете сделать это для ядра dotnet;

HMAC hmac = new HMACSHA256(key.ToByteArray()); //Consider ToByteArray() as an extension method converting a string into a byte[]

//Similarly
HMAC hmac = new HMACSHA1(key.ToByteArray()); //Consider ToByteArray() as an extension method converting a string into a byte[]

//Or
HMAC hmac = new HMACMD5(key.ToByteArray()); //Consider ToByteArray() as an extension method converting a string into a byte[]
Другие вопросы по тегам