OpenSocial
/storage/opensocialを/opensocial/[username]として、サービスプロバイダの署名つきリクエストを許可するようにした。 G-Storage http://g-storage.appspot.com/ makeRequest関数を使うと、サービスプロバイダがプロキシになってOAuth認証パラメータをくっ…
ここ数週間、合間を見てちまちま作ってた。 大体出来た。 パッケージ名は、HTTP_OAuthServer。(暫定) 機能 ・2legged OAuth認証。 ・リクエストトークン発行。(3legged OAuth) ・ユーザ認可。(3legged OAuth) ・アクセストークン交換。(3legged OAuth) ・保…
それじゃあ誰の権限を持ってるか解らない。 今回の変更点。 consumer_keyを内部で持ってるSerialに置き換えた。 person_idもデータベースに入れる。(Authorizeの時) もう少しだけ親切なAuthorizeページ作成。 どうやら今週は土曜も日曜も仕事のようです。 残…
実装してみた。 仕様は前回の記事参照。 作っているうちにどんどん混乱してくるから、先にまとめておいてよかった。 今回の内容は、オフィシャルドキュメントの内容ではなく、個人的にこうやった、というまとめ。 今週の月曜日、mixiアプリが正式コンテンツ…
2legged OAuthは出来て、今度は3legged OAuth。 サービスプロバイダとして3legged OAuthは必須。 「OAuth Core 1.0」はセキュリティに問題があるらしく、その問題点を解決した「OAuth Core 1.0a」(OAuth Core 1.0 Revision A)を使う。 他人様の日本語訳とか…
クエリによって、ソートしたり、オフセット/リミットを指定したり、カラムと値と比較方法を指定してフィルターをかけたり、その他いろいろある事を忘れていた。 その為には一発でデータを引いてくる必要がありそう。 今までperson_idを最初にとってからやっ…
昨日は夏休みでした。 そして気づいたら朝! ↓これ、面白い。 最初の質問の人と同じ事思う。 APIの進捗は、Person/Groups/ActivitiesをGETするところまで。 とりあえずその話は割愛。 コンシューマとサービスプロバイダの関係 コンシューマ => ガジェットを…
まずはpersonだけ。 適当翻訳。 おそらくサービスプロバイダに用意されているであろう標準的なフィールド。 id ユニークな識別子。必須。 displayName エンドユーザ向けの表示に適した名前。必須。 name 名前。 formatted 表示用のフルネーム。 familyName …
サーバ側の認証処理をするクラス。 長いから全部は書かないけど。 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…
PHPで。 最近仕事で2-legged OAuthに触れる機会があったので、その延長でOpenSocialのサービスプロバイダっぽいのを個人的に作ってみる。 HTTPメソッド クライアントがPUTとかDELETEとかのメソッドを使えない場合、リクエストヘッダーに"X-HTTP-Method-Overr…