feat(ocm): implement WAYF page and enhance invitation workflow#228
feat(ocm): implement WAYF page and enhance invitation workflow#228MahdiBaghbani wants to merge 2 commits intocernbox:cernboxfrom
Conversation
add: Wayf.vue component with provider selection and federation discovery add: useWayf.ts composable for WAYF logic and provider management add: InvitationAcceptanceModal.vue for invitation acceptance add: useInvitationAcceptance.ts composable to share acceptance logic add: wayf.ts types for federation and provider interfaces add: WAYF documentation add: /wayf route with anonymous authentication support add: /accept-invite route for invitation acceptance workflow add: Configure anonymous authContext for public WAYF access refactor: IncomingInvitations to use shared acceptance composable add: multiple token copy options to OutgoingInvitations (plain, base64, WAYF link) enhance: token display with separate copy buttons for each format enhance: Filter out current instance from federation provider lists enhance: Validate manual provider entries against self-domain Signed-off-by: Mahdi Baghbani <mahdi-baghbani@azadehafzar.io>
|
Hi Mahdi, how different is this PR from the one you submitted to ownCloud? Ideally they should be the same, and in this case as we adopt the upstream web extensions we would not need this one! |
|
I think that CERNBox is a major version behind and there are different versus: also they use global store to cache the generated tokens as well via If this can be waited and you will migrate to the upstream, then yes this can be done via the ownCloud |
This PR is a part of cs3org/OCM-STA#1
This PR depends on this PR cs3org/reva#5385 to be merged in Reva.
Description
This PR implements the frontend components for WAYF (Where Are You From) functionality in the OCM web application, enabling users to discover and select their cloud provider when accepting federated invitations. The implementation provides a user friendly interface for OCM provider selection and complements the backend WAYF discovery endpoints.
Technical
Things I've added to the web application:
Code Changes
New Components:
src/views/Wayf.vue: Main WAYF page with provider selection UI, search functionality, and federation displaysrc/views/InvitationAcceptanceModal.vue: Modal component for accepting invitations with provider validationNew Composables:
src/composables/useWayf.ts: Core WAYF logic including federation loading, provider discovery, and self-domain validationsrc/composables/useInvitationAcceptance.ts: Shared invitation acceptance logic with self-generated token detectionNew Types:
src/types/wayf.ts: TypeScript interfaces for federation and provider data structuresUpdated Routing (
src/index.ts):/wayfroute withauthContext: 'anonymous'for public access/accept-inviteroute for invitation acceptance workflowModified Views:
src/views/OutgoingInvitations.vue: Added three token copy options (plain, base64, WAYF link) with visual improvementssrc/views/IncomingInvitations.vue: Refactored to use shareduseInvitationAcceptancecomposablesrc/views/ConnectionsPanel.vue: Minor UI adjustmentssrc/views/App.vue: Updated to support new routesDocumentation:
docs/Where Are You From page.md: WAYF usage guide, API endpoints, and testing scenariosVideos of the changes and general flow of the OCM app
From CERNBox to OpenCloud
From CERNBox to OpenCloud