mirror of
https://github.com/openziti/zrok.git
synced 2024-11-21 23:53:19 +01:00
frontend config for interstitial enable/disable; zrok.proxy.v1 support for interstitial enablement (#704)
This commit is contained in:
parent
b7423ca59e
commit
2e3d6a627f
@ -12,12 +12,13 @@ import (
|
||||
const V = 3
|
||||
|
||||
type Config struct {
|
||||
V int
|
||||
Identity string
|
||||
Address string
|
||||
HostMatch string
|
||||
Oauth *OauthConfig
|
||||
Tls *endpoints.TlsConfig
|
||||
V int
|
||||
Identity string
|
||||
Address string
|
||||
HostMatch string
|
||||
Interstitial bool
|
||||
Oauth *OauthConfig
|
||||
Tls *endpoints.TlsConfig
|
||||
}
|
||||
|
||||
type OauthConfig struct {
|
||||
@ -45,8 +46,9 @@ type OauthProviderConfig struct {
|
||||
|
||||
func DefaultConfig() *Config {
|
||||
return &Config{
|
||||
Identity: "public",
|
||||
Address: "0.0.0.0:8080",
|
||||
Identity: "public",
|
||||
Address: "0.0.0.0:8080",
|
||||
Interstitial: false,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -158,13 +158,16 @@ func shareHandler(handler http.Handler, pcfg *Config, key []byte, ctx ziti.Conte
|
||||
if shrToken != "" {
|
||||
if svc, found := endpoints.GetRefreshedService(shrToken, ctx); found {
|
||||
if cfg, found := svc.Config[sdk.ZrokProxyConfig]; found {
|
||||
|
||||
ignore := r.Header.Get("zrok_interstitial")
|
||||
_, zrokOkErr := r.Cookie("zrok_interstitial")
|
||||
if ignore == "" && zrokOkErr != nil {
|
||||
logrus.Infof("forcing interstitial for: %v", r.URL)
|
||||
interstitialUi.WriteInterstitialAnnounce(w)
|
||||
return
|
||||
if pcfg.Interstitial {
|
||||
if _, istlFound := cfg["interstitial"]; istlFound {
|
||||
skip := r.Header.Get("skip_zrok_interstitial")
|
||||
_, zrokOkErr := r.Cookie("zrok_interstitial")
|
||||
if skip == "" && zrokOkErr != nil {
|
||||
logrus.Debugf("forcing interstitial for '%v'", r.URL)
|
||||
interstitialUi.WriteInterstitialAnnounce(w)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if scheme, found := cfg["auth_scheme"]; found {
|
||||
|
Loading…
Reference in New Issue
Block a user