Заголовки CORS В ANGULAR И DJANGO - PullRequest
       0

Заголовки CORS В ANGULAR И DJANGO

0 голосов
/ 25 апреля 2020

Я работаю над личным проектом и, конечно же, в части аутентификации, теперь я включил CORS ORIGIN WHITE TO ONE SPECIFI C порт, который я использую для angular. однако, когда я включаю использование withCredentials в заголовках, в консоли не устанавливается раздел «cookie» для того, чтобы пользователь поддерживал состояние входа в систему, когда я обновляю sh, я даже использовал перехватчики, но все равно получаю эту ошибку без установки cookie.

это ошибка: заблокирована политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: значение заголовка 'Access-Control-Allow-Credentials' в ответе равно '', который должен быть 'true', мой код пока следующий:

export class AuthService {
   signedin$ = new BehaviorSubject(false);

  httpHeaders = new HttpHeaders({
    'Content-Type': 'application/json',
     observe: 'response' as 'response'

    //Authorization: 'Token 9e16a8fba7d0fe6e70a0b417d70660c3eb487be0'
  });
  baseurl = "http://localhost:8000/";

  constructor(private http: HttpClient) { }

  usernameAvailable(username: string){
    return this.http.post<usernameResponse>(this.baseurl + 'users/', {headers:this.httpHeaders, username:username})
  }


  signUp(credentials:signupcredentials){

    return this.http.post<signupresponse>(this.baseurl + 'users/', credentials,
     {headers:this.httpHeaders}).pipe(
       tap( ()=>{
         this.signedin$.next(true);
       })
     );
  }

  checkAuth(){
    return this.http.get('http://localhost:8000/users/',
     {headers: this.httpHeaders}).pipe(
      tap( response=>{
        console.log(response)
      })
    );
  }
}

мой перехватчик также выглядит следующим образом:

import {Injectable} from '@angular/core';
import {Observable} from 'rxjs';
import { HttpEvent, HttpHandler, HttpRequest, HttpInterceptor} from '@angular/common/http';

@Injectable()
export class AuthHttpInterceptors implements HttpInterceptor {
    intercept(req: HttpRequest<any>, next:HttpHandler): Observable<HttpEvent<any>>{
        console.log("new outgoing request",req);

        const modifiedReq = req.clone({
            withCredentials:true
        });
        console.log("new outgoing new request",req);

        return next.handle(modifiedReq)

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...