diff --git a/pkg/middleware/silentrefresh.go b/pkg/middleware/silentrefresh.go new file mode 100644 index 0000000000..84fb50934b --- /dev/null +++ b/pkg/middleware/silentrefresh.go @@ -0,0 +1,13 @@ +package middleware + +import ( + "net/http" +) + +// SilentRefresh allows the oidc client lib to silently refresh the token in an iframe +func SilentRefresh(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("X-Frame-Options", "SAMEORIGIN") + next.ServeHTTP(w, r) + }) +} diff --git a/pkg/server/http/server.go b/pkg/server/http/server.go index 24d91d7422..e92af475f3 100644 --- a/pkg/server/http/server.go +++ b/pkg/server/http/server.go @@ -1,6 +1,7 @@ package http import ( + phoenixmid "github.com/owncloud/ocis-phoenix/pkg/middleware" svc "github.com/owncloud/ocis-phoenix/pkg/service/v0" "github.com/owncloud/ocis-phoenix/pkg/version" "github.com/owncloud/ocis-pkg/v2/middleware" @@ -30,6 +31,7 @@ func Server(opts ...Option) (http.Service, error) { middleware.Cache, middleware.Cors, middleware.Secure, + phoenixmid.SilentRefresh, middleware.Version( "phoenix", version.String,