首頁 > 後端開發 > Golang > 如何保護 Angular-Go API 通訊的安全性:新增授權標頭?

如何保護 Angular-Go API 通訊的安全性:新增授權標頭?

Susan Sarandon
發布: 2024-12-16 04:13:17
原創
682 人瀏覽過

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 實作:
headersOk := handlers.AllowedHeaders([]string{"*"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
登入後複製

在Go 中,CORS 標頭需要與Angular 應用程式發送的標頭相符。若要允許所有標頭,請使用以下內容:

或者,仔細定義允許的標頭。 採取這些步驟後,應成功傳輸和接受授權標頭,從而啟用Angular 和 Go 之間的通訊。

以上是如何保護 Angular-Go API 通訊的安全性:新增授權標頭?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板