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[]