outpost/embedded: fix embedded outpost redirecting to localhost
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
c5976de500
commit
16f0f89a9d
|
@ -35,6 +35,12 @@ func intToPointer(i int) *int {
|
||||||
return &i
|
return &i
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (pb *providerBundle) replaceLocal(url string) string {
|
||||||
|
f := strings.ReplaceAll(url, "localhost:8000", pb.s.ak.Client.GetConfig().Host)
|
||||||
|
f = strings.ReplaceAll(f, "http", pb.s.ak.Client.GetConfig().Scheme)
|
||||||
|
return f
|
||||||
|
}
|
||||||
|
|
||||||
func (pb *providerBundle) prepareOpts(provider api.ProxyOutpostConfig) *options.Options {
|
func (pb *providerBundle) prepareOpts(provider api.ProxyOutpostConfig) *options.Options {
|
||||||
externalHost, err := url.Parse(provider.ExternalHost)
|
externalHost, err := url.Parse(provider.ExternalHost)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -54,12 +60,12 @@ func (pb *providerBundle) prepareOpts(provider api.ProxyOutpostConfig) *options.
|
||||||
providerOpts.Cookie.Secure = externalHost.Scheme == "https"
|
providerOpts.Cookie.Secure = externalHost.Scheme == "https"
|
||||||
|
|
||||||
providerOpts.SkipOIDCDiscovery = true
|
providerOpts.SkipOIDCDiscovery = true
|
||||||
providerOpts.OIDCIssuerURL = provider.OidcConfiguration.Issuer
|
providerOpts.OIDCIssuerURL = pb.replaceLocal(provider.OidcConfiguration.Issuer)
|
||||||
providerOpts.LoginURL = provider.OidcConfiguration.AuthorizationEndpoint
|
providerOpts.LoginURL = pb.replaceLocal(provider.OidcConfiguration.AuthorizationEndpoint)
|
||||||
providerOpts.RedeemURL = provider.OidcConfiguration.TokenEndpoint
|
providerOpts.RedeemURL = pb.replaceLocal(provider.OidcConfiguration.TokenEndpoint)
|
||||||
providerOpts.OIDCJwksURL = provider.OidcConfiguration.JwksUri
|
providerOpts.OIDCJwksURL = pb.replaceLocal(provider.OidcConfiguration.JwksUri)
|
||||||
providerOpts.ProfileURL = provider.OidcConfiguration.UserinfoEndpoint
|
providerOpts.ProfileURL = pb.replaceLocal(provider.OidcConfiguration.UserinfoEndpoint)
|
||||||
providerOpts.ValidateURL = provider.OidcConfiguration.UserinfoEndpoint
|
providerOpts.ValidateURL = pb.replaceLocal(provider.OidcConfiguration.UserinfoEndpoint)
|
||||||
providerOpts.AcrValues = "goauthentik.io/providers/oauth2/default"
|
providerOpts.AcrValues = "goauthentik.io/providers/oauth2/default"
|
||||||
|
|
||||||
if *provider.SkipPathRegex != "" {
|
if *provider.SkipPathRegex != "" {
|
||||||
|
|
Reference in New Issue