OpenSocial

G-StorageにOpenSocialの外部サーバ機能を追加してみた

/storage/opensocialを/opensocial/[username]として、サービスプロバイダの署名つきリクエストを許可するようにした。 G-Storage http://g-storage.appspot.com/ makeRequest関数を使うと、サービスプロバイダがプロキシになってOAuth認証パラメータをくっ…

Pearでインストールできるサーバ側のOAuth認証ライブラリを作ってみる

ここ数週間、合間を見てちまちま作ってた。 大体出来た。 パッケージ名は、HTTP_OAuthServer。(暫定) 機能 ・2legged OAuth認証。 ・リクエストトークン発行。(3legged OAuth) ・ユーザ認可。(3legged OAuth) ・アクセストークン交換。(3legged OAuth) ・保…

OpenSocialのサービスプロバイダっぽいのを作ってみる 7.3legged OAuthでperson_idを保持しておくのを忘れてた

それじゃあ誰の権限を持ってるか解らない。 今回の変更点。 consumer_keyを内部で持ってるSerialに置き換えた。 person_idもデータベースに入れる。(Authorizeの時) もう少しだけ親切なAuthorizeページ作成。 どうやら今週は土曜も日曜も仕事のようです。 残…

OpenSocialのサービスプロバイダっぽいのを作ってみる 6.OAuth Core 1.0a(3legged OAuth)を実装してみた

実装してみた。 仕様は前回の記事参照。 作っているうちにどんどん混乱してくるから、先にまとめておいてよかった。 今回の内容は、オフィシャルドキュメントの内容ではなく、個人的にこうやった、というまとめ。 今週の月曜日、mixiアプリが正式コンテンツ…

OpenSocialのサービスプロバイダっぽいのを作ってみる 5.OAuth Core 1.0a(3legged OAuth)の仕様

2legged OAuthは出来て、今度は3legged OAuth。 サービスプロバイダとして3legged OAuthは必須。 「OAuth Core 1.0」はセキュリティに問題があるらしく、その問題点を解決した「OAuth Core 1.0a」(OAuth Core 1.0 Revision A)を使う。 他人様の日本語訳とか…

OpenSocialのサービスプロバイダっぽいのを作ってみる 4.Whereを共通化する

クエリによって、ソートしたり、オフセット/リミットを指定したり、カラムと値と比較方法を指定してフィルターをかけたり、その他いろいろある事を忘れていた。 その為には一発でデータを引いてくる必要がありそう。 今までperson_idを最初にとってからやっ…

OpenSocialのサービスプロバイダっぽいのを作ってみる 3.Shindigとの連携方法

昨日は夏休みでした。 そして気づいたら朝! ↓これ、面白い。 最初の質問の人と同じ事思う。 APIの進捗は、Person/Groups/ActivitiesをGETするところまで。 とりあえずその話は割愛。 コンシューマとサービスプロバイダの関係 コンシューマ => ガジェットを…

OpenSocialのサービスプロバイダっぽいのを作ってみる 2.データベース設計を考える

まずはpersonだけ。 適当翻訳。 おそらくサービスプロバイダに用意されているであろう標準的なフィールド。 id ユニークな識別子。必須。 displayName エンドユーザ向けの表示に適した名前。必須。 name 名前。 formatted 表示用のフルネーム。 familyName …

AuthServerっていうクラスを作ってみた

サーバ側の認証処理をするクラス。 長いから全部は書かないけど。 header = apache_request_headers(); $this->input = file_get_contents('php://input'); $this->http_method = isset($this->header['HTTP_X_HTTP_METHOD_OVERRIDE']) ? $this->header['HTT…

OpenSocialのサービスプロバイダっぽいのを作ってみる

PHPで。 最近仕事で2-legged OAuthに触れる機会があったので、その延長でOpenSocialのサービスプロバイダっぽいのを個人的に作ってみる。 HTTPメソッド クライアントがPUTとかDELETEとかのメソッドを使えない場合、リクエストヘッダーに"X-HTTP-Method-Overr…