Is there any Spring Social client module for ORCID (Open Researcher and Contributor ID)? There are already client modules for service providers such as Spring Social Facebook, Spring Social Twitter, Spring Social LinkedIn, etc.
ORCID provides a persistent digital identifier that distinguishes one researcher from another. It has been globally adopted, and at the time of writing (June 2016), there are nearly two and half millions of ORCID iDs registered.
ORCID provides the service of SSO (Single Sign On) with ORCID, based on the OAuth 2.0 protocol. There are a growing number of web applications that are required of the support for SSO with ORCID. And there may be even more web applications that are required of using ORCID’s OAuth 2.0 based REST APIs, for instance, to submit articles/data to the ORCID Registry.
The Spring Social framework has been widely used to connect Spring applications to Software-as-a-Service (SaaS) API providers such as Facebook, Twitter, and LinkedIn. A Spring Social client module for ORCID, similar to Spring Social Facebook, etc., would greatly simplify the development of the web applications aforementioned, and this would be very beneficial to publishers, institutes and so on in the academic area of all disciplines around the world.
2
Answers
I have created the Spring Social ORCID project, as an extension to Spring Social that enables integration with ORCID. (Note: I have devoted this project to Europe PMC, new versions will be released to its GitHub repository)
I have also written an example web application that uses the Spring Social ORCID module (as well as Spring Social Facebook), to test the module and also demonstrate how to use it, in a way that is almost the same as using Spring Social Facebook.
Not just web applications, you can also use Spring Social ORCID in your web services, as demonstrated by the spring social orcid client example project on the rest_web_service branch. The web service also supports the Remember Me feature.
Any web application can, via JavaScript, use the Spring Social ORCID based web service to connect to ORCID. I have created another example project to demonstrate this, which utilizes the Remember Me feature too.
The Spring Social ORCID project is far from perfect yet, but I think it's not a bad start :-) You are welcome to fork and help improve it too.
To follow up from Yuci, I have created a repository of Spring and Spring boot integration examples. Some require nothing more than configuration. ORCID recently released OpenID Connect and implicit OAuth functionality and you can now also do client-side authentication using just a handful of javascript.
The changes at the ORCID end mean that Spring boot requires nothing more than this:
There’s an example for client-side only implicit flow using JWT as well. This and more ORCID OAuth and OpenID connect examples can be found on github