2016-06-18 2 views
1

ORCID (열린 연구원 및 참가자 ID)에 대한 Spring Social 클라이언트 모듈이 있습니까? Spring Social Facebook, Spring Social Twitter, Spring Social LinkedIn 등과 같은 서비스 공급자 용 클라이언트 모듈이 이미 있습니다.ORCID 용 스프링 소셜 클라이언트 모듈이 있습니까?

ORCID는 한 연구원을 다른 연구원과 구별하는 영구 디지털 식별자를 제공합니다. 그것은 전 세계적으로 채택되었으며, 글을 쓰는 시점 (2016 년 6 월)에는 등록 된 ORCID의 약 2 억 5 천만 개가 등록되었습니다.

ORCID는 OAuth 2.0 프로토콜을 기반으로하는 SSO (Single Sign On) 서비스를 ORCID로 제공합니다. ORCID가있는 SSO를 지원하는 데 필요한 웹 응용 프로그램이 점점 늘어나고 있습니다. 또한 ORCID의 OAuth 2.0 기반 REST API를 사용하여 기사/데이터를 ORCID 레지스트리에 제출하는 데 필요한 웹 애플리케이션이 더 많이있을 수 있습니다.

스프링 소셜 프레임 워크는 스프링 애플리케이션을 Facebook, Twitter 및 LinkedIn과 같은 SaaS (Software-as-a-Service) API 공급자에 연결하는 데 널리 사용됩니다. Spring Social Facebook과 유사한 ORCID를위한 Spring Social Client 모듈은 앞에서 언급 한 웹 애플리케이션의 개발을 크게 단순화 할 것이며 이는 출판사, 연구소 등 모든 분야의 학술 분야에서 매우 유용 할 것입니다. 세계.

답변

2

나는 ORCID와의 통합을 가능하게하는 Spring Social의 확장으로서 the Spring Social ORCID project을 만들었습니다. (참고 :이 프로젝트를 유럽 PMC에 새 버전으로 바 꾸었습니다.

스프링 소셜 ORCID 모듈 (스프링 소셜 페이스 북뿐만 아니라)을 사용하는 an example web application도 작성했으며 또한 Spring Social Facebook을 사용하는 것과 거의 같은 방식으로 사용 방법을 보여줍니다.

웹 응용 프로그램뿐만 아니라 the spring social orcid client example project on the rest_web_service branch처럼 웹 서비스에서 Spring Social ORCID를 사용할 수도 있습니다. 웹 서비스는 또한 사용자 정보 기억 기능을 지원합니다.

모든 웹 응용 프로그램은 JavaScript를 통해 Spring Social ORCID 기반 웹 서비스를 사용하여 ORCID에 연결할 수 있습니다. 나 기억하기 기능을 활용하여이를 증명하기 위해 another example project을 만들었습니다.

스프링 소셜 ORCID 프로젝트는 아직 완벽하지 못하지만, 나쁘지는 않은 시작이라고 생각합니다 .--) 포크에 올리면 도움이됩니다.

0

Yuci의 후속 작업을 위해 스프링 및 스프링 부트 통합 예제 저장소를 만들었습니다. 일부는 구성 이상을 필요로하지 않습니다. ORCID는 최근에 OpenID Connect와 암시 적 OAuth 기능을 출시했으며 이제는 소수의 자바 스크립트 만 사용하여 클라이언트 측 인증을 수행 할 수 있습니다.

@SpringBootApplication 
@EnableOAuth2Sso 
@Controller 
public class ReallySimpleOrcidOauthApplication { 

    @RequestMapping("/") 
    @ResponseBody 
    public final String home() { 
     return "Welcome, " + SecurityContextHolder.getContext().getAuthentication().getName(); 
    } 

    public static void main(String[] args) { 
     SpringApplication application = new SpringApplication(ReallySimpleOrcidOauthApplication.class); 
     Properties properties = new Properties(); 
     properties.put("security.oauth2.client.clientId", "XXX"); 
     properties.put("security.oauth2.client.clientSecret", "XXX"); 
     properties.put("security.oauth2.client.accessTokenUri", "https://sandbox.orcid.org/oauth/token"); 
     properties.put("security.oauth2.client.userAuthorizationUri", "https://sandbox.orcid.org/oauth/authorize"); 
     properties.put("security.oauth2.client.tokenName", "access_token"); 
     properties.put("security.oauth2.client.scope", "openid"); 
     properties.put("security.oauth2.resource.userInfoUri", "https://sandbox.orcid.org/oauth/userinfo"); 
     application.setDefaultProperties(properties); 
     application.run(args); 
    } 
} 

뿐만 아니라 JWT를 사용하여 클라이언트 측에만 암시 적 흐름에 대한 예를 들어 거기 다음 ORCID 끝에

변경은 봄 부팅 this보다 더 아무것도 필요하지 않습니다 의미한다. 더 많은 ORCID OAuth 및 OpenID 연결 예제는 found on github

일 수 있습니다.
관련 문제