pomerium/internal/urlutil/hostedauthenticate.go
Kenneth Jenkins a1388592d8
stub out HPKE public key fetch for self-hosted authenticate (#4360)
Fetch the HPKE public key only when configured to use the hosted
authenticate service. Determine whether we are using the hosted
authenticate service by comparing the resolved authenticate domain with
a hard-coded list of hosted authenticate domains.

Extract this list of hosted authenticate domains to the internal/urlutil
package in order to keep a single source of truth for this data.
2023-07-13 10:04:34 -07:00

25 lines
766 B
Go

package urlutil
// HostedAuthenticateDomains is a list of all known domains associated with the
// hosted authenticate service.
var HostedAuthenticateDomains = []string{
"authenticate.pomerium.app",
"authenticate.staging.pomerium.app",
}
var hostedAuthenticateDomainSet = initHostedAuthenticateDomainSet()
func initHostedAuthenticateDomainSet() map[string]struct{} {
s := make(map[string]struct{})
for _, domain := range HostedAuthenticateDomains {
s[domain] = struct{}{}
}
return s
}
// IsHostedAuthenticateDomain indicates whether the given domain is associated
// with the hosted authenticate service.
func IsHostedAuthenticateDomain(domain string) bool {
_, isHostedAuthenticate := hostedAuthenticateDomainSet[domain]
return isHostedAuthenticate
}