Добавление заголовка Set-Cookie в Http Interceptor Angular

#asp.net #angular #api #cookies #setcookie

#asp.net #angular #API #файлы cookie #setcookie

Вопрос:

В настоящее время у меня есть перехватчик angular, который устанавливает некоторые заголовки. Я знаю, что при вызовах api создается заголовок set-cookie. В моем заголовке set-cookie мне не хватает флага безопасности и флага того же сайта. Как бы мне установить эти два флага?

 import { Injectable } from "@angular/core";

import {
   HttpEvent, HttpInterceptor, HttpHandler, HttpRequest
} from "@angular/common/http";

import { Observable } from "rxjs";
import { timeout } from "rxjs/operators";

@Injectable()
export class AcceptHeadersInterceptor implements HttpInterceptor {

   intercept(req: HttpRequest<any>, next: HttpHandler) {
    const newRequest = req.clone(
        { setHeaders: { "Accept": "application/json", "Content-Type": "application/json","X-Content-Type-Options": "nosniff" ,"X-Frame-Options": "SAMEORIGIN" }}
    );
    
    return next.handle(newRequest).pipe(timeout(100000)); //global request timeout after 10s for any api request. Prevent slow http requests. 
   }
}
  

Комментарии:

1. Что такое исключение 500? Держу пари, что его ссылка на объект не установлена на экземпляр объекта. Точки останова могут помочь вам определить, откуда исходит фактическая ошибка.

2. Вы должны установить некоторые точки останова и посмотреть, как далеко вы продвинулись. Если вы не можете попасть в самую первую строку в своем методе POST (в c #), затем проверьте свой отладчик и посмотрите, правильны ли ссылка и полезная нагрузка.

3. Я бы также предложил обновить ваш вопрос, чтобы показывать только соответствующие части. Вы предоставили много кода, и я не думаю, что это актуально. Они имеют отношение только к JS-коду, который выполняет POST-запрос, и к вашему методу dotnet, который должен получать запрос. Все остальное — шум.