>백엔드 개발 >Golang >Angular HTTP 요청에 인증 헤더를 추가하고 CORS 문제를 해결하는 방법은 무엇입니까?

Angular HTTP 요청에 인증 헤더를 추가하고 CORS 문제를 해결하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-14 19:47:14415검색

How to Add Authorization Headers to Angular HTTP Requests and Resolve CORS Issues?

Angular HTTP 요청에 인증 헤더 추가

문제 설명:

Angular HTTP에 인증 헤더 추가 시도 요청했지만 "요청한 항목에 'Access-Control-Allow-Origin' 헤더가 없습니다. 리소스" 오류.

해결책:

Angular 애플리케이션에서는 인증 헤더 관리를 위해 HTTP 인터셉터를 사용하는 것이 좋습니다. 경비대는 경로 보호를 위해 이 접근 방식을 보완할 수 있습니다.

인증 인터셉터 구현:

  1. 인터셉터 파일 생성: (예: auth.interceptor.ts)
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { AuthService } from './auth.service';

@Injectable()
export class AuthInterceptor implements HttpInterceptor {
  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    if (AuthService.isLoggedIn()) {
      const token = AuthService.getToken();
      req = req.clone({
        setHeaders: {
          'Content-Type': 'application/json',
          'Accept': 'application/json',
          'Authorization': `Bearer ${token}`,
        },
      });
    }
    return next.handle(req);
  }
}
  1. 앱 모듈에 인터셉터 등록:
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { AuthInterceptor } from './auth/auth.interceptor';

...
providers: [
    {
      provide: HTTP_INTERCEPTORS,
      useClass: AuthInterceptor,
      multi: true,
    },
    ...
],
...

Go 관련 HTTP 요청:

오류는 요청 헤더와 CORS 구성이 일치하지 않을 가능성이 있음을 나타냅니다. 다음 단계를 구현합니다.

  1. AllowedHeaders 미들웨어 매개변수를 *로 설정하여 모든 헤더를 허용합니다.
headersOk := handlers.AllowedHeaders([]string{"*"})
  1. 전송된 헤더와 일치하도록 CORS 설정을 반복적으로 구성합니다. Angular 클라이언트에 의해.

위 내용은 Angular HTTP 요청에 인증 헤더를 추가하고 CORS 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.