aces / Loris

LORIS is a web-accessible database solution for longitudinal multi-site studies.
GNU General Public License v3.0
144 stars 173 forks source link

ORCID Authentication support #6026

Closed xlecours closed 3 years ago

xlecours commented 4 years ago

Is your feature request related to an existing module? Login

Describe the solution you'd like Be able to login to an instance of LORIS using ORCID see: https://members.orcid.org/api/integrate/orcid-sign-in

Additional context Following the adoption of https://github.com/CONP-PCNO/conp-portal/wiki/Authentication-and-Authorization-Policies#authentication , any registered access level dataset on displayed on CONP which the resource(s) location is a LORIS instance MUST support ORCID authentication method. Otherwise, it falls under the private access level.

driusan commented 4 years ago

It would be a good idea to extend the usage of \LORIS\Middleware\AuthMiddleware to allow configuration of arbitrary authentication mechanisms and not do this in a service provider-centric way.

johnsaigle commented 4 years ago

It would be useful to prioritize #5828 as well so that we can make use of React/more modern design in our authentication flow.

driusan commented 4 years ago

I don't see why that would help. Authentication needs to be done by the backend, the javascript used in the front end should have no impact on it.

johnsaigle commented 4 years ago

From my very basic understanding of ORCID it asks for us to provide a single sign on button and some error handling and it would be nice to do that with SWALs etc. rather than working it into Smarty and then reworking it.

johnsaigle commented 4 years ago

But you're right it's mostly a back-end task

johnsaigle commented 4 years ago

Beyond authentication it looks like there's a lot of things ORCID can do. This is an overview of their workflow and features for "repository systems":

https://members.orcid.org/api/workflow/repository

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

christinerogers commented 1 year ago

this has been implemented for a few projects like HBCD (using Globus) and EEGNet (ORCID) to enable seamless syncing with CBrain.