...
(6) When later approving "tier 3" data access requests the ACT checks whether the requesting user has been verified.
Notes
In the proposed approach there's no batching of verification. there's no dashboard to show who is / isn't verified. The information for each user is on a page in Synapse. The work list is the ACT email inbox.
Workflow details
- User visits Synapse page for sensitive data (e.g. the Bridge data).
- User sees that data is Controlled (tier 3)
- User opens dialog, showing text for the access restriction, e.g. "Please become 'verified' (following instructions on your home page), and send a description of how you intend to use this data along with the Synapse ID of this data to SynapseAccessandComplianceTeam@synapse.org".
- User visits home page. Instructions say, "Fill out your user profile and link to your ORCID then click 'get verified'.
- User fills out their user profile, links their ORCID, clicks link "Become Verified".
- Page opens showing first name, last name, organization, location, country, from user profile, as well as email addresses and ORCID. Prompts for verification document. Form highlights fields which will become publicly visible (e.g. name and affiliation are visible, emails and attached doc's are not).
- User uploads/attaches verification document, clicks "Submit."
- ACT receives notification of verification submission.
- ACT visits page listing pending submissions, clicks on one, opening up a display of the submission. This page also shows user's email address(es).
- ACT may reject submission: Submission is deleted; rejection notification is sent to user (including reason?); User may repeat "Become verified..."
- ACT may accept submission:
- Submission is marked as accepted.
...
Description | Intended User / Authorization | Notification sent to | URI | Method | Request Parameters | Request Body | Response Body |
---|---|---|---|---|---|---|---|
Request verification. Can only request if there isn't already a pending request. Content must match user profile, emails, ORCID in system at the time the request is made. Rejected if required fields are blank. | any authorized user | ACT | /verificationSubmission | POST | -- | VerificationSubmission | VerificationSubmission |
Get a list of pending (not yet approved) verifications. | ACT | -- | /pendingVerifications | GET-- | limit, offset | -- | List<VerificationSubmission>VerificationSubmissionPaginatedResults |
Get a single verification submission. | ACT | -- | /verificationSubmission/{id} | GET | -- | -- | VerificationSubmission |
Reject verification request | ACT | user who requested verification | /verificationSubmission/{id} | DELETE | reason | -- | -- |
Approve verification submission | ACT | user who requested verification | /verificationSubmission/{id}/approval | PUT | -- | -- | -- |
Retract verification (submission must be approved) | ACT | user who requested verification | /verificationSubmission/{id}/retraction | PUT | -- | -- | -- |
Get UserBundle If not self or ACT then private fields are cleared. | Public | -- | /user/{id}/userBundle | GET | -- | -- | UserBundle |
Link the user ID given by an oauth2 provider to a Synapse account. | any authorized user | -- | /oauth2/alias | POST | -- | OAuthValidationRequest | PrincipalAlias |
Download attachment from verification submission. | ACT | -- | /verificationSubmission/{id}/file/{fileHandleId} | GET | redirect | download URL |
...