Skip to content

Commit beea319

Browse files
committed
Address CodeRabbit review feedback
- Say explicitly that the forward-auth layer and GeoLens are two separate authentication layers. The proxy decides who reaches the origin; it does not tell GeoLens who the visitor is, and the plugin sends only a same-origin cookie plus an optional X-Api-Key. So the visitor needs a GeoLens identity as well: either point GeoLens at the same OIDC provider so signing in yields a GeoLens session on this origin, or hand each user a per-user API key. Names the symptom (public datasets appear, private ones stay invisible) so the failure is recognizable.
1 parent b7bb860 commit beea319

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

docs/self-hosting.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,20 @@ opens a private project for an authenticated user and returns the login redirect
201201
for anyone else. No CORS headers, no tokens in URLs, and nothing served to
202202
anyone the SSO layer has not admitted.
203203

204+
!!! important "Two layers of authentication, not one"
205+
The forward-auth layer decides who reaches the origin. It does not, by
206+
itself, tell GeoLens who the visitor is: GeoLens applies its own accounts and
207+
per-dataset permissions, and the GeoLibre plugin sends only what the browser
208+
attaches (a same-origin cookie) plus an `X-Api-Key` header if you gave it a
209+
key. So the visitor needs a GeoLens identity too. Either configure GeoLens to
210+
consume your provider (it supports OAuth 2.0 / OIDC, so point it at the same
211+
identity provider and a visitor who signs in gets a GeoLens session cookie on
212+
this origin), or have each user paste a per-user API key into the plugin
213+
panel. If neither is true, the app loads and public datasets appear while
214+
private ones stay invisible, which is a confusing failure worth ruling out
215+
first. `/projects` and other static files behind the proxy are unaffected:
216+
they are gated by the forward-auth layer alone.
217+
204218
!!! note "`url=` must be absolute"
205219
The project deep link is validated as an absolute `http(s)` URL, so
206220
`?url=/projects/watershed.geolibre.json` is ignored. Write the full URL, as

0 commit comments

Comments
 (0)