Как заменить значение nonce CSP в index.html Angular, используя .net 7 (С#)?C#

Место общения программистов C#
Ответить
Anonymous
 Как заменить значение nonce CSP в index.html Angular, используя .net 7 (С#)?

Сообщение Anonymous »

Используя Angular 16, мы можем указать токен внедрения CSP_NONCE, который будет использоваться во всех встроенных стилях и скриптах (как описано здесь). В этом примере он получает nonce из globalThis.myRandomNonceValue, но я понятия не имею, как он будет предоставлен с сервера.
В другом примере, который я видел, в index.html добавляется метатег, который предоставляет значение nonce для ссылки Angular. Каким-то образом перед обработкой страницы он может переписать index.html, чтобы добавить nonce в метатег.
Предполагая, что мой серверный код написан на C# и работает на .net 7, вот как будет выглядеть мой код в моем Program.cs для создания криптографического nonce и добавления его в заголовок CSP

Код: Выделить всё

app.Use(async (context, next) =>
{
// cryptographic-noncing only supported in Angular 16
var rng = RandomNumberGenerator.Create();
var nonceBytes = new byte[32];
rng.GetBytes(nonceBytes);
var nonce = Convert.ToBase64String(nonceBytes);
context.Response.Headers.Add("Content-Security-Policy", $"default-src 'self' 'nonce-{nonce}'");
await next();
});
Учитывая, что мое приложение работает в ядре .net
Каков самый простой/лучший способ сделать nonce доступным для Angular для ссылки?
Я мог бы поклясться, что видел пример того, как заставить Angular получать значение nonce из HTTP-заголовка CSP, но я не могу найти его снова

Подробнее здесь: https://stackoverflow.com/questions/775 ... ng-net-7-c
Ответить

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

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

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

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

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