You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Guests] Use the full OpenCloud Web UI as an authenticated guest #2825
As a guest whose invitation link has been resolved and authenticated on the resolve page, I want to use the OpenCloud Web UI as a full-fledged application — scoped to what I was invited to, so that I can browse, open, and (per my role) edit the shared files, folders, or Space as naturally as a regular user, rather than through a stripped-down public-link view.
User value
Uncertainties: to be clarified
Authentication type. Web currently distinguishes several auth types, e.g. user, publicLink, hybrid. It is unclear whether a guest can ride the existing user type, or whether we must introduce a new guest type alongside the others (and also include it in hybrid).
Space resource type. It is unclear whether the invited resource can be represented with existing space resource types (e.g. ShareSpaceResource), or whether we must introduce a virtual GuestSpaceResource, analogous to PublicSpaceResource (see web-client/src/helpers/space/types.ts).
Acceptance Criteria
After authentication, the guest lands in the OpenCloud Web UI (not a reduced public-link viewer) on the invited resource.
The guest can only see and reach resources they were granted; there is no way to browse the wider instance, other users' content, or unrelated Spaces.
The guest's effective permissions match their assigned role (e.g. a Viewer cannot edit).
Navigation elements that are meaningless or forbidden for a guest are hidden or disabled - the UI presents no dead ends or actions that will always fail.
The chosen authentication type is implemented and documented: either the guest rides user, or a new guest type is added alongside user / publicLink / hybrid and handled everywhere authContext is branched on.
The invited resource is represented by the chosen space resource type: either an existing type (e.g. ShareSpaceResource), or a new virtual GuestSpaceResource modelled on PublicSpaceResource.
All routes/apps correctly account for the guest case (either because user covers them, or because the new guest branch is handled).
The chosen authentication type is implemented and documented: either the guest rides user, or a new guest type is added alongside user / publicLink / hybrid and handled everywhere authContext is branched on.
There is a new guest auth type. This seems cleaner, since the authentication is completely different between users (OIDC access token) and guests (cookie).
The invited resource is represented by the chosen space resource type: either an existing type (e.g. ShareSpaceResource), or a new virtual GuestSpaceResource modelled on PublicSpaceResource.
Spaces for guests are ShareSpaceResource like for regular users.
All routes/apps correctly account for the guest case (either because user covers them, or because the new guest branch is handled).
I'm not sure if that's what was originally planned, but a resolved guest link is more akin to a public link than a logged in user. It resolves to a dedicated route files/guest/share/.... There are no nav items, i.e. no Personal, Spaces and Trash bin. IMO they don't make sense for guest users, and the server doesn't support it AFAICT.
The resolved guest view will gain a few more features over a public link: Shared with me, search, Collaboration. #3816 however tackles only the necessary groundwork.
Activity
JammingBen commentedon Oct 16, 2026
There is a new
guestauth type. This seems cleaner, since the authentication is completely different between users (OIDC access token) and guests (cookie).Spaces for guests are
ShareSpaceResourcelike for regular users.I'm not sure if that's what was originally planned, but a resolved guest link is more akin to a public link than a logged in user. It resolves to a dedicated route
files/guest/share/.... There are no nav items, i.e. no Personal, Spaces and Trash bin. IMO they don't make sense for guest users, and the server doesn't support it AFAICT.The resolved guest view will gain a few more features over a public link: Shared with me, search, Collaboration. #3816 however tackles only the necessary groundwork.