Angular と Go での認可ヘッダーの処理
Angular HTTP リクエストに認可ヘッダーを追加するには、HTTP インターセプターの利用を検討してください。各リクエストにヘッダーを追加できる一方で、ガードはルート保護に使用できます。
Angular HTTP インターセプターの例:
// auth.interceptor.ts import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import { AuthService } from './auth.service'; @Injectable() export class AuthInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { req = req.clone({ setHeaders: { 'Content-Type': 'application/json; charset=utf-8', 'Accept': 'application/json', 'Authorization': `Bearer ${AuthService.getToken()}`, }, }); return next.handle(req); } }
インターセプターをapp.module.ts のプロバイダー:
// app.module.ts import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; import { AuthInterceptor } from '../auth/auth.interceptor'; ... imports: [ HttpClientModule, ... ], providers: [ { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true, }, ... ], ...
CORS に移動設定:
Go では、CORS 設定がクライアントから送信された HTTP ヘッダーと一致していることを確認します。必要に応じて、すべてのヘッダーを許可します:
headersOk := handlers.AllowedHeaders([]string{"*"}) originsOk := handlers.AllowedOrigins([]string{"*"}) methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
Chrome デベロッパー ツールでヘッダーを検査し、クライアントのヘッダーに合わせて CORS 設定を慎重に再構成することを検討してください。これにより、発生している CORS の問題が解決されます。
以上がGo で Angular HTTP リクエストを保護し、CORS を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。