mixiアプリ + 携帯 + OAuth まとめ

CakePHPを使って、mixiアプリの携帯版でOAuthで認証する際に必要な知識

公式マニュアル

OAuth Signatureの検証方法について << mixi Developer Center (ミクシィ デベロッパーセンター)
http://developer.mixi.co.jp/appli/spec/mob/validate-oauth-signature

公式コミュニティ

晒していいのかわからないのでリンクは貼らず
ドキュメントが古くてコードが動かないとか、このコードなら動くとかあるので、見ておいた方がいいです。

で、コードは?

  • 上記、コミュニティの携帯のトピックの77番目あたりのやつで動きましたよ!

認証

  • mixi側のSignatureと、こちらのサーバのSignatureが合えば、mixiのユーザだ! という感じ
  • 作り方は、上記のマニュアルの通り
    • ベース文字列を作る(consumer_secretを含む)
    • ベース文字列をHMAC-SHA1によってダイジェスト値を生成し、BASE64エンコードする
    • この作った文字列が、mixiから来たsignatureと同じなら、本物のユーザに違いない!

注意点

  • PC用のOAuth認証と、モバイル用OAuth認証(consumer)はやり方が違う。PC用コードじゃ当然動かないよ!!

フレームワークを使ってOpensocialOAuth認証を通す場合のハマりどころ | ke-tai.org
http://ke-tai.org/blog/2010/09/28/opensocialoauthframework/

ハマったら

  • 両方のsignatureがどうなっているか? を調べる
  • tcpdumpとかで見てみる

参考図書

  • 以下の本にPCの場合のサンプルコードがありましたよ

mixiアプリをつくろう!OpenSocialで学ぶソーシャルアプリ

mixiアプリをつくろう!OpenSocialで学ぶソーシャルアプリ

その他

開発マシーン用に MacBook Air 11インチ欲しい!