2024-04-12 16:41:11 +02:00
{
"type" : "object" ,
"properties" : {
"oidc" : {
"title" : "Configuration du client OpenID Connect" ,
"type" : "object" ,
"properties" : {
"clientId" : {
"title" : "Identifiant du client OpenID Connect" ,
"type" : "string"
} ,
"clientSecret" : {
"title" : "Secret du client OpenID Connect" ,
"type" : "string"
} ,
"issuerURL" : {
"title" : "URL de base du fournisseur OpenID Connect (racine du .well-known/openid-configuration)" ,
"type" : "string"
} ,
"postLogoutRedirectURL" : {
"title" : "URL de redirection après déconnexion" ,
"type" : "string"
} ,
"scopes" : {
"title" : "Scopes associés au client OpenID Connect" ,
"default" : [
"openid"
] ,
"type" : "array" ,
"item" : {
"type" : "string"
}
} ,
"authParams" : {
"title" : "Paramètres d'URL supplémentaires à ajouter à la requête d'authentification OpenID Connect" ,
"default" : { } ,
"description" : "L'ensemble des clés valeurs renseignées seront transformées en variables d'URL lors de la requête d'authentification initiale. Permet par exemple d'ajouter les 'acr_values' requises par certains fournisseurs d'identité OpenID Connect." ,
"type" : "object" ,
"patternProperties" : {
".*" : {
"type" : "string"
}
}
} ,
2024-05-23 15:17:05 +02:00
"loginCallbackURL" : {
2024-04-12 16:41:11 +02:00
"title" : "Chemin associé à l'URL de callback OpenID Connect" ,
2024-05-23 15:17:05 +02:00
"default" : "<scheme>://<host>/.bouncer/authn/oidc/{{ .ProxyName }}/{{ .LayerName }}/callback" ,
"description" : "Les marqueurs '{{ .ProxyName }}' et '{{ .LayerName }}' peuvent être utilisés pour injecter le nom du proxy ainsi que celui du layer." ,
2024-04-12 16:41:11 +02:00
"type" : "string"
} ,
2024-05-23 15:17:05 +02:00
"matchLoginCallbackURL" : {
"title" : "Patron de correspondance de l'URL interne de callback OpenID Connect" ,
"default" : "*/.bouncer/authn/oidc/{{ .ProxyName }}/{{ .LayerName }}/callback" ,
"description" : "Les marqueurs '{{ .ProxyName }}' et '{{ .LayerName }}' peuvent être utilisés pour injecter le nom du proxy ainsi que celui du layer." ,
"type" : "string"
} ,
"logoutURL" : {
2024-04-12 16:41:11 +02:00
"title" : "Chemin associé à l'URL de déconnexion" ,
2024-05-23 15:17:05 +02:00
"default" : "<scheme>://<host>/.bouncer/authn/oidc/{{ .ProxyName }}/{{ .LayerName }}/logout" ,
"description" : "Les marqueurs '{{ .ProxyName }}' et '{{ .LayerName }}' peuvent être utilisés pour injecter le nom du proxy ainsi que celui du layer." ,
"type" : "string"
} ,
"matchLogoutURL" : {
"title" : "Patron de correspondance l'URL interne de déconnexion" ,
"default" : "*/.bouncer/authn/oidc/{{ .ProxyName }}/{{ .LayerName }}/logout" ,
"description" : "Les marqueurs '{{ .ProxyName }}' et '{{ .LayerName }}' peuvent être utilisés pour injecter le nom du proxy ainsi que celui du layer." ,
2024-04-12 16:41:11 +02:00
"type" : "string"
} ,
"skipIssuerVerification" : {
"title" : "Activer/désactiver la vérification de concordance de l'identifiant du fournisseur d'identité" ,
"default" : false ,
"type" : "boolean"
2024-05-23 15:17:05 +02:00
} ,
"tlsInsecureSkipVerify" : {
"title" : "Activer/désactiver la vérification du certificat TLS distant" ,
"default" : false ,
"type" : "boolean"
2024-04-12 16:41:11 +02:00
}
} ,
"additionalProperties" : false ,
"required" : [
"clientId" ,
"clientSecret" ,
"issuerURL"
]
} ,
"cookie" : {
"title" : "Configuration du cookie porteur de la session utilisateur" ,
"type" : "object" ,
"properties" : {
"name" : {
"title" : "Nom du cookie" ,
"default" : "_bouncer_authn_oidc" ,
"type" : "string"
} ,
"domain" : {
"title" : "Domaine associé au cookie" ,
"description" : "Par défaut le domaine associé à la requête HTTP" ,
"type" : "string"
} ,
"path" : {
"title" : "Chemin associé au cookie" ,
"type" : "string" ,
"default" : "/"
} ,
"sameSite" : {
"title" : "Attribut sameSite du cookie" ,
"description" : "Voir https://developer.mozilla.org/fr/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value" ,
"type" : "string" ,
"enum" : [
"lax" ,
"none" ,
"strict" ,
""
] ,
"default" : ""
} ,
"httpOnly" : {
"title" : "Interdire ou non l'accès au cookie en Javascript" ,
"type" : "boolean" ,
"default" : false
} ,
"secure" : {
"title" : "Transmettre le cookie uniquement en HTTPS" ,
"type" : "boolean" ,
"default" : false
} ,
"maxAge" : {
"title" : "Temps de vie du cookie et de la session associée." ,
"description" : "Voir https://pkg.go.dev/time#ParseDuration pour le format attendu." ,
"default" : "1h" ,
"type" : "string"
}
} ,
"additionalProperties" : false
}
} ,
"additionalProperties" : false ,
"required" : [
"oidc"
]
}