diff --git a/pkg/server/app/app.go b/pkg/server/app/app.go index 401099cbd..2562c7743 100644 --- a/pkg/server/app/app.go +++ b/pkg/server/app/app.go @@ -162,3 +162,10 @@ func (a *AppHandler) Start() error { func (a *AppHandler) Name() string { return a.name } + +// AuthMode returns the app handler's auth mode, which is also the auth that the +// app's client will be configured with. This mode should be registered with +// the server's auth modes, for the app to have access to the server's resources. +func (a *AppHandler) AuthMode() auth.AuthMode { + return a.auth +} diff --git a/pkg/serverinit/serverinit.go b/pkg/serverinit/serverinit.go index 121755a1a..030a61e86 100644 --- a/pkg/serverinit/serverinit.go +++ b/pkg/serverinit/serverinit.go @@ -341,6 +341,7 @@ func (hl *handlerLoader) setupHandler(prefix string) { exitFailure("error setting up app for prefix %q: %v", h.prefix, err) } hh = ap + auth.AddMode(ap.AuthMode()) } else { var err error hh, err = blobserver.CreateHandler(h.htype, hl, h.conf)