OAuth with OpenPNE3

50 %
50 %
Information about OAuth with OpenPNE3
Technology

Published on August 18, 2009

Author: ooharabucyou

Source: slideshare.net

OpenPNE3とOAuthそして、その他諸々 手嶋屋開発部勉強会 Shogo Kawahara 2009/08/17

Tejimaya 8月も まさかの 後半戦ですな レポートも卒論も進めてない川原ですorz

Tejimaya 今日は OpenPNE3 における OAuthとか

Tejimaya 研究しますよ☆

目次 OAuthって何だっけ? 復習など OpenPNEにおけるOAuth OAuth認証つきページ開発(概要) opOpenSocialPlugin まとめとこれからの展望 Tejimaya

Tejimaya 注意 2009年8月16日 現在の状況でおはなしします いわゆる 「画面は開発中のものです」 ってやつです。 ちなみに、最近は 自転車がほしいと思っている

Tejimaya さらに注意 今回の研究では コンシューマ での実装はどうやったらいいのか とかは、やりません。 ごめんなさい。

Tejimaya そもそも OAuthって 何だっけ?

回想 http://www.slideshare.net/ebihara/oauth-1618214 海老原さんの勉強会資料参考 Tejimaya

何ができるの 公開されているAPIを利用するサイト上で、APIを公開しているサイトのIDとかパスワードを入力しなくてもOKになる Tejimaya

Tejimaya どいうこと?

OAuthを使わないAPIアクセス 例 Tejimaya API利用側 部長SNS のIDとパスワードとか 教えちゃいなさい プロフィール情報 とかほしいんだよね API提供側 部長SNS IDとパスワードで その人のプロフィール情報 とか投げるよ ここに部長SNSの IDとパスワードが 保存されちゃう? なにそれ怖い

OAuthを使った世界 例 Tejimaya 部長SNSから Consumer Key と Consumer Secret をもらってる API提供側 部長SNS OAuthServer API利用側 Consumer 部長SNSにAPI 利用登録済み ②リクエストトークンくれ ③ほらよ ⑤認証OK でコールバック ⑥アクセス トークンよこせ ⑦アイヨー ⑧アクセストークン使って APIアクセス ①APIを利用する展開になる ④リクエストトークン 使って認証ページへ リダイレクトゥ *Webアプリでの利用 を想定

Tejimaya OpenPNE は?

Tejimaya OpenPNE3.1.x (trunk) では実装中

概要 管理画面側でもユーザ側でも利用登録ができる どのAPIを利用できるかを細かく設定可能 OAuthを利用すべきモジュールはfilterを使って保護する Tejimaya

Consumer登録をやってみる OAuthを利用するには事前のConsumer登録が必要である Tejimaya

Consumer登録をやってみる 例として http://sns.example.com/で、OpenPNE3(trunk)のホーム画面が出ているものとする。 opWebAPIPluginの最新版をgithubからpluginsディレクトリにチェックアウトする必要がある。 Tejimaya

Consumer登録をやってみる 管理画面での登録をやってみます。 http://sns.example.com/pc_backend.php/connection 上がOAuthアプリケーション登録ページ Tejimaya

Tejimaya 開発中のOpenPNE3 Core + GithubにあるopWebAPIPlugin master で右のように Using apis が選択できる

Tejimaya ← 登録されると 左の画面がでてくる Consumer Keyと Consumer Secretは OAuthアクセスに使う大事な物です 漏らさないように Request token URL Access token URL Authorize URL は各種トークン生成や 認証ページのURLです ← これは非公開なサーバのものなので ご安心を

メンバー側は? http://sns.example.com/connectionで同様の登録ができるようです Tejimaya

Tejimaya ちなみに、OpenPNE3は OAuth rev.Aでの新仕様である、 RequestToken取得時にcallback_urlを渡す っていう形式を採用している

Tejimaya って 海老原さんが 言ってた

Tejimaya さて、どうやったらOAuth 認証付きページ(API)が OpenPNE3で作れるのか すごくおおざっぱにやります

Tejimaya 1.filter

Tejimaya モジュールのconfig の filter.ymlで opCheckOAuthAccessTokenFilter を追加しましょう。 ↓例

Tejimaya 2.Routing

Tejimaya 参考 opWebAPI

Tejimaya opAPIRouteInterface (Core側) を実装した Routeクラスで APIを ルーティングルールに 追加する。 Consumer登録時に 許可する API一覧に getAPIName() & getAPICaption() で取得された内容が出るようになる opWebAPIPluginでは opWebAPIRoute がいる

Tejimaya 3.Security

opCheckOAuthAccessTokenFilterはOAuthアクセスキーが正当であると、上のような処理をします。 また、そのConsumerが許可されたAPI名をCredentialに登録します。 適切なsecurity.ymlの設定が必要 Tejimaya

Tejimaya という感じで OAuthでの認証 必須モジュールが できあがるわけです

Tejimaya OAuth実装にともない opOpenSocialPlugin のAPIでも、OAuthを 使えるようにしてみました (Restful API)

Tejimaya github にある奴なら 多分動く http://github.com/kawahara/opOpenSocialPlugin

Tejimaya おそらく 近日中に 新バージョン出します (Doctrine対応も ようやくできた)

今の要改善点とか 認可画面をもっと詳しくしないと http://www.itmedia.co.jp/news/articles/0908/10/news015.html こうならないために 管理側で認可したか、メンバー側で認可したか簡単にもっと簡単に取得できる仕組みが必要? Tejimaya

展望とか 携帯版OpenSocialほしいなぁ mixiはAPI利用時に認可画面なしの2-legged OAuthでOpenSocial APIにアクセスするっぽい(もちろん事前にユーザ認可した上) Tejimaya

Tejimaya というわけで OpenPNE3+ OAuth 是非ともよろしくお願いします

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

OpenPNE 3.1 機能紹介 #3 – OAuth|OpenPNE

3.1 機能紹介シリーズ第三弾です。今回は OpenPNE 3.1.2 から新しく対応した OAuth ... また、 OpenPNE3 で OAuth ...
Read more

OpenPNE3-doc/OAuth at master · openpne ... - github.com

Contribute to OpenPNE3-doc development by creating an account on GitHub.
Read more

うずら技術メモ - webmemo.uzuralab.com

No.1485 OpenPNE3.1機能紹介#3-OAuth. OpenPNE 3.1 機能紹介 #3 - OAuth. OpenPNE Kousuke Ebihara.
Read more

Bug(バグ) #1574: 同梱されている OAuth.php が古いので差し替える - OpenPNE 3 ...

OpenPNE3で使われている、http://oauth.googlecode.com/svn/code/php/OAuth.php で配布されているphp版OAuthクラスの過去の実装 ...
Read more

OpenPNE3がOpenSocial対応になりました - Google Groups

OpenPNE3において、OpenSocial対応は ... しかも、Shindigに実装されているRestful Protocol時に行われるOAuthのチェック ...
Read more

GitHub - openpne/OpenPNE3-doc

Contribute to OpenPNE3-doc development by creating an account on GitHub.
Read more

認証 — OpenPNE Web API v1.0 documentation

OAuth による認証¶ OAuth は Web アプリケーションのデータを API 経由で扱うためのオープンな認可の規格です。
Read more

OpenPNE3とGoogleAppsの融合|OpenPNEの手嶋屋

OpenPNE3とGoogleAppsの融合 . 2010-07-23 (金) 社長BLOG 手嶋 守 ; GoogleAppsのGmail は強力だ。 ...
Read more