ホームページ >バックエンド開発 >Golang >Angular-Go API 通信を保護する方法: 認証ヘッダーの追加?

Angular-Go API 通信を保護する方法: 認証ヘッダーの追加?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-16 04:13:17682ブラウズ

How to Secure Angular-Go API Communication:  Adding Authorization Headers?

Angular HTTP リクエストに認可ヘッダーを追加する方法

Angular アプリケーションを Go API に接続しようとするときは、認可を含めることが重要ですHTTP リクエストのヘッダー。これにより、クライアントとサーバー間の通信が保護されます。以下はこれを実現する方法を示しています:

Angular 実装:

Angular 4 以降では、HTTP インターセプターを使用して認可ヘッダーをリクエストに一貫して適用することをお勧めします。これはインターセプターの例です:

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

import { Observable } from 'rxjs';

import { AuthService } from './auth.service';

@Injectable()
export class AuthInterceptor implements HttpInterceptor {
  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    req = req.clone({
      setHeaders: {
        Authorization: `Bearer ${AuthService.getToken()}`,
      },
    });

    return next.handle(req);
  }
}

このインターセプターは Angular モジュールに登録できます:

import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';

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

Go 実装:

Go では、CORS ヘッダーは Angular アプリケーションによって送信されたものと一致する必要があります。すべてのヘッダーを許可するには、次のコマンドを使用します。

headersOk := handlers.AllowedHeaders([]string{"*"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})

または、許可されるヘッダーを慎重に定義します。

これらの手順を実行すると、承認ヘッダーが正常に送信および受け入れられ、 Angular と Go の間の通信。

以上がAngular-Go API 通信を保護する方法: 認証ヘッダーの追加?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。