JerseyでのOAuth Service Providerの実装について

900 views
Skip to first unread message

あゆゆん♪

unread,
May 9, 2011, 7:40:46 PM5/9/11
to java-ja
あゆゆん♪といいます。java-ja のみなさまはじめまして。

現在、Jerseyを用いてAPIの実装を行っているのですが、
OAuth Service Providerの実装方法とJersey ClientフレームワークからのOAuth認証
取得の手順がわからずつまづいています。

どなたかOAuth Service Providerの実装とClient側からのアクセスに関するサンプルや資料等ご存知でしたら
教えていただけないでしょうか?

よろしくお願いいたします。

Shumpei Shiraishi

unread,
May 9, 2011, 7:51:39 PM5/9/11
to jav...@googlegroups.com
あゆゆん♪さん

どうもおはようございます。白石俊平といいます。

サービスプロバイダは作ったことないんですが、クライアントからのアクセスだったら昔やったことがあるので、参考までに。

FriendFeedにOAuth1でアクセスしてます。

==========
private static final String CONSUMER_KEY = "...";
private static final String CONSUMER_SECRET = "...";
private static final Client httpClient = Client.create();

WebResource r = httpClient
.resource("http://friendfeed-api.com/v2/entry");
OAuthParameters params = new OAuthParameters().signatureMethod(
HMAC_SHA1.NAME).consumerKey(CONSUMER_KEY).token(accessToken);
OAuthSecrets secrets = new OAuthSecrets().consumerSecret(
CONSUMER_SECRET).tokenSecret(accessSecret);

// クライアントからのアクセスに対し、OAuthフィルタを挟む
OAuthClientFilter filter = new OAuthClientFilter(httpClient
.getProviders(), params, secrets);
r.addFilter(filter);

// application/x-www-form-urlencoded でFriendFeedのAPIを呼び出す
Form form = new Form();
form.add("body", "テスト本文");

ClientResponse response = r.type(MediaType.APPLICATION_FORM_URLENCODED)
.post(ClientResponse.class, form);

======
http://wikis.sun.com/display/Jersey/OAuth
も参考になると思います。

ではでは、よろしくお願い致します。


2011年5月10日8:40 あゆゆん♪ <ayu.lit...@gmail.com>:

> --
> このメールは Google グループのグループ「java-ja」の登録者に送られています。
> このグループに投稿するには、jav...@googlegroups.com にメールを送信してください。
> このグループから退会するには、java-ja+u...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/java-ja?hl=ja からこのグループにアクセスしてください。
>
>

あゆゆん♪

unread,
May 9, 2011, 8:29:29 PM5/9/11
to jav...@googlegroups.com
To:白石さん

早速のご回答ありがとうございます。
クライアントのアクセスをさっそくTwitterで試してみたところ、意外とサックリアクセスできました。

あとはOAuthプロバイダーの実装なんですが・・・Rubyの資料はやたらあるのにjavaは見つからないんですよね。
javaでOAuthプロバイダーとかあまりやらないんでしょうか?自分でももう少し探してみます。


2011年5月10日8:51 Shumpei Shiraishi <shumpei....@gmail.com>:

Yano Tsutomu

unread,
May 12, 2011, 11:21:06 AM5/12/11
to jav...@googlegroups.com
矢野です。

私自身はOAuth Providerを実装したことはないんですが、以下のサイトに、JavaのライブラリとExampleがあります。どちらも「provider」というパッケージにプロバイダ実装があります。

SimpleOAuthValidatorにOAuthMessageを食べさせると検証してくれる、という仕組みのようですね。OAuthMessageをリクエストから構築するためのユーティリティメソッドとかが用意されているようです。

Yano Tsutomu

unread,
May 12, 2011, 11:23:26 AM5/12/11
to jav...@googlegroups.com
矢野です。

すみません、ひとつまえのメールに肝心のURLを貼りわすれてしまいました…

http://oauth.net/code/

Javaの部分の、「Java Library」と「examples」というリンクの部分のことです。


On 2011/05/10, at 8:40, あゆゆん♪ wrote:

Reply all
Reply to author
Forward
0 new messages