2016-06-18 7 views
1

ORCID(公開研究者とコントリビュータID)のSpring Socialクライアントモジュールはありますか?サービスプロバイダなどSpring Social FacebookSpring Social TwitterSpring Social LinkedInなどORCID用のSpring Social Clientモジュールはありますか?

ORCIDはから別の研究者を区別する永続的なデジタル識別子を提供するためのクライアントモジュールが既にあります。これは世界的に採用されており、書面(2016年6月)にはORCIDの約半分が登録されています。

ORCIDは、OAuth 2.0プロトコルに基づいて、ORCIDを使用したSSO(シングルサインオン)のサービスを提供します。 ORCIDを持つSSOのサポートに必要なWebアプリケーションが増えています。さらに、ORCIDのOAuth 2.0ベースのREST APIを使用して、たとえばORCIDレジストリに記事やデータを提出するために必要な、さらに多くのWebアプリケーションが存在する可能性があります。

Spring Socialフレームワークは、SpringアプリケーションをFacebook、Twitter、LinkedInなどのSaaS(Software-as-a-Service)APIプロバイダに接続するために広く使用されています。 Spring Social Facebookなどと同様、ORCID用のSpringソーシャルクライアントモジュールは、前述のWebアプリケーションの開発を大幅に簡素化します。これは、出版社、研究所などのあらゆる分野の学術領域において非常に有益です。世界。

答えて

2

私はthe Spring Social ORCID projectを、ORCIDとの統合を可能にするSpring Socialの拡張として作成しました。 (注:私は、新しいバージョンがits GitHub repositoryにリリースされるヨーロッパPMCにこのプロジェクトを捧げてきた)

私はまた、モジュールをテストするために、春社会ORCIDモジュール(だけでなく、春社会のFacebook)を使用していますan example web applicationを書かれているし、また、Spring Social Facebookを使用する方法とほぼ同じ方法で、その使い方を示しています。

Webアプリケーションだけでなく、the spring social orcid client example project on the rest_web_service branchで示すように、WebサービスでSpring Social ORCIDを使用することもできます。 Webサービスは、Remember Me機能もサポートしています。

JavaScriptを使用して、任意のWebアプリケーションは、Spring Social ORCIDベースのWebサービスを使用してORCIDに接続できます。私はこのことを実証するためにanother example projectを作成しました。これはRemember Me機能も利用しています。

Spring Social ORCIDプロジェクトは完璧ではありませんが、それは悪いスタートではないと思います.--)あなたもフォークして改善することを歓迎します。

0

私はYuciからフォローアップするために、SpringとSpringのブート統合の例を作成しました。いくつかは構成以上のものを必要としません。 ORCIDは最近、OpenID Connectと暗黙のOAuth機能をリリースしました。そして、あなたは今や、ほんの一握りのjavascriptを使用してクライアント側認証を行うこともできます。

@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

関連する問題