CenterForDigitalHumanities / CenterForDigitalHumanities/TPEN-interfaces

Support TPEN28 Project Import into TPEN3.0 via Authenticated Cross-System Link

Open
#128 1 comment 0 reactions 1 assignee Claimed by @mepripri View on GitHub
Dominant language
JavaScript
Stars
2
Forks
3
PR merge metrics
No merged PRs in 30d

Description

Overview :

User logs in to TPEN3.0 and receives an auth token (userToken). User clicks a “Link TPEN28 Project” button on TPEN3.0. They are redirected to the TPEN28 login page, passing the TPEN3.0 redirect_uri.After successful TPEN28 login, user is redirected back to TPEN3.0 with their UID from TPEN28 in the URL. TPEN3.0 uses the /import28/:uid endpoint to retrieve the corresponding project from TPEN28. Clone/import it into TPEN3.0 via the manifest endpoint. On successful import a list of collaborators from the original project is shown. User can send invitations to each collaborator to join the cloned project in TPEN3.0. A button is provided to open the newly imported project in TPEN3.0.

✅ Implementation Tasks:

- [x] Add cross-domain cookie support for secure credential exchange.
- [x] Use getAuthToken() to retrieve TPEN3.0 token for auth headers.
- [x] Redirect logic with redirect_uri from TPEN3 to TPEN28 and back.
- [x] Secure /import28/:uid endpoint with appropriate CORS config and Auth0 middleware.
- [x] Parse and display collaborators from the imported manifest.
- [x] Allow inviting collaborators via TPEN3 Project.addMember() method.
- [x] Redirect to the cloned project’s management interface.
- [ ] Involve Hotkeys
- [ ] Project Tools
- [ ] Remove localhost on a good spot

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.