Extension de services Header Creation (existante)
Extension de services Header Creation (existante)
ℹ️
Cette rubrique fait référence à la syntaxe de configuration existante. Les passerelles d’applications sont désormais définies comme des applications Proxy. Un nouvel exemple de l’extension de services create header est présenté ici
La création d’en-têtes HTTP personnalisés est une opération courante pour les applications existantes qui traitent l’identité par le biais d’en-têtes.
CreateHeader
Dans cet exemple, l’extension de services createHeader
permet d’enrichir les données d’attributs renvoyées
dans les réclamation par un fournisseur d’authentification.
appgateways:
- name: Sonar
basePath: /
headers:
SM_USER: azure.name
firstname:
createHeader:
funcName: CreateHeader
file: /etc/maverics/extensions/createHeader.go
policies:
- location: /
authentication:
idps:
- azure
authorization:
allowAll: true
/etc/maverics/extensions/createHeader.go
package main
import (
"errors"
"net/http"
"maverics/app"
"maverics/session"
)
func CreateHeader(
ag *app.AppGateway,
rw http.ResponseWriter,
req *http.Request,
) (http.Header, error) {
header := make(http.Header)
name := session.GetString(req, "azure.givenname")
if name == "" {
return nil, errors.New("did not find 'azure.givenname' on session")
}
name += " the Great"
header["firstname"] = []string{name}
return header, nil
}