¿Cómo agregar el encabezado de autorización a la solicitud http angular?

Esta es mi primera publicación.

Acabo de empezar a aprender Go y Angular e intento conectar la aplicación angular a una api de go. He escrito ambos y estoy atrapado identificando la raíz del problema. Pensé que era un problema de CORS, pero funciona bien si no incluyo la línea de código de encabezados en mi solicitud http angular. En este punto solo estoy tratando de agregar el encabezado. El código de autorización aún no está implementado.

Ambas aplicaciones se ejecutan localmente con la aplicación Go en el puerto 5000 y Angular en 4200

Solicitud http angular que no funciona:

this.http.get<ProjectedBalance>(requestUrl, {headers: new HttpHeaders().set('Authorization', 'my-auth-token')})
    .subscribe(data => {
     this.projBalance = data.projBalance;
   }

Solicitud http angular que funciona:

this.http.get<ProjectedBalance>(requestUrl)
    .subscribe(data => {
     this.projBalance = data.projBalance;
   }

Recibo este error:

La respuesta a la solicitud de verificación previa no pasa la verificación de control de acceso: no hay encabezado 'Access-Control-Allow-Origin' en el recurso solicitado. Origen 'http: // localhost: 4200'por lo tanto, no se permite el acceso. La respuesta tenía el código de estado HTTP 403

Estoy usando gorilla / mux y gorilla / handlers en mi código go

router := mux.NewRouter()
router.HandleFunc("/home/{endDate}", GetProjBalance).Methods("GET", "OPTIONS")
headersOk := handlers.AllowedHeaders([]string{"X-Requested-With, Content-Type, Authorization"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
//start server on port
log.Fatal(http.ListenAndServe(":5000", handlers.CORS(originsOk, headersOk, methodsOk)(router)))

Encabezados de las herramientas de desarrollo de Chrome

Request URL:http://localhost:5000/home/2020-12-21
Request Method:OPTIONS
Status Code:403 Forbidden
Remote Address:[::1]:5000
Referrer Policy:no-referrer-when-downgrade

Response Headers
view source
Content-Length:0
Content-Type:text/plain; charset=utf-8
Date:Mon, 20 Nov 2017 21:39:43 GMT

Request Headers
view source
Accept:*/*
Accept-Encoding:gzip, deflate, br
Accept-Language:en-US,en;q=0.9,uz;q=0.8
Access-Control-Request-Headers:authorization
Access-Control-Request-Method:GET
Connection:keep-alive
Host:localhost:5000
Origin:http://localhost:4200

Respuestas a la pregunta(2)

Su respuesta a la pregunta