ガラケーでもOAuthに対応できそうな話

携帯向けfoursquareサイト「mb4sq.jp」の作者さんと高木浩光先生の間で語られたガラケー端末でfoursquareなどのOAuthに対応するための経験談が大変貴重で興味深かったのでまとめてみました。 やっぱり簡単ログインなんか要らなかったんや!ってなればいいですね
21
Hiromitsu Takagi @HiromitsuTakagi

@mb4sqjp http://www.mb4sq.jp/login ケータイ版の「初めて利用する方」で、OAuthを使うとあるのに他サイトのIDとパスワードを入力させるのはなぜですか?「OAuth認証」ボタンの上に他サイトのパスワード入力欄があるのはおかしくないですか?

2010-05-09 00:01:40
モバイルフォースクエア @mb4sqjp

@HiromitsuTakagi ご指摘ごもっともです。始めはOAuthで実装していたのですが、現在はxAuth(4sqではAuth Exchange)で認証しています。※4sqのoauth画面が一部の機種だと文字化けするため。 説明文早めに直しておきます。

2010-05-09 00:13:19
Hiromitsu Takagi @HiromitsuTakagi

@mb4sqjp xAuthをWebアプリで使うのはよくないのではないでしょうか。デスクトップアプリ(信頼ある)で使うのなら別ですが。

2010-05-09 00:17:44
モバイルフォースクエア @mb4sqjp

@HiromitsuTakagi そこは悩んだのですが、4sqやTwitterのoauth認証画面がガラケーに対応した表示をしてくれない以上、仕方ないかと判断しました。※oauth画面のAllow, Denyのボタンが両方「送信」と表示されどちらを押せばいいか分からないなど。

2010-05-09 00:25:32
モバイルフォースクエア @mb4sqjp

@HiromitsuTakagi Cookie非対応の機種の場合はやむなく端末IDを使用しているのですが、高木先生のblogを読ませていただき、どうセキュリティを向上させようか、ちょうど頭を悩ませているところです。いろいろと鋭いご指摘、為になります。

2010-05-09 00:29:10
Hiromitsu Takagi @HiromitsuTakagi

なるほど興味深いです。ぜひ実際の利用者の方々からTwitter他へ改善を求めてみられてはいかがでしょうか。Twitterについてはデジタルガレージ社が窓口になってくれるかも。QT @mb4sqjp 4sqやTwitterのoauth認証画面がガラケーに対応した表示をしてくれない

2010-05-09 00:40:24
ROCA @rocaz

逆に言うとそこしか問題はないんですね。もし携帯でOAuth実現できたら画期的かも RT @mb4sqjp: @HiromitsuTakagi ..4sqやTwitterのoauth認証画面がガラケー..oauth画面のAllow, Denyのボタンが両方「送信」と表示され ...

2010-05-09 00:47:38
モバイルフォースクエア @mb4sqjp

@rocaz そうですね、AUでは比較的まともにOAuthで動いていました。問題はドコモのCookie対応以前の機種…。文字化けしたりしていても、当たりのボタンを押せばとりあえず認証は通ることは通るのですが、それで使ってもらうには少々厳しいかと。

2010-05-09 00:52:42
モバイルフォースクエア @mb4sqjp

@HiromitsuTakagi Twitterにおいては日本の窓口があるので可能性がありますね。ぜひ問い合わせてみます。問題はfoursquareの方で、日本のガラケー事情を説明するところからとなると、一苦労しそうです…。

2010-05-09 00:49:04
Hiromitsu Takagi @HiromitsuTakagi

@mb4sqjp ところで、画面の問題の他に、OAuthを使う際に、iモード1.0端末がcookie非対応であることは障害にならないのでしょうか。

2010-05-09 00:51:17
モバイルフォースクエア @mb4sqjp

@HiromitsuTakagi Cookie非対応機種でも、OAuthのコールバックURLを指定出来れば、ワンタイムのセッションIDを含むURLにトークンを渡してもらえるので、大丈夫でした。(TwitterのOAuthはコールバックURL指定できるのでOK)→続く

2010-05-09 01:01:16
モバイルフォースクエア @mb4sqjp

@HiromitsuTakagi foursquareのOAuthは、コールバックURLの指定に対応していなく、Cookie非対応の場合にセッションと紐づける方法が無く、最終手段としてデフォルトのコールバック先をguid=onを付けたURLにして端末IDで紐づけていました。

2010-05-09 01:03:06
Hiromitsu Takagi @HiromitsuTakagi

@mb4sqjp なるほど、ありがとうございます。

2010-05-09 01:04:16
モバイルフォースクエア @mb4sqjp

@rocaz ありがとうございます。4sq本家の方で使われているフレームワーク(Lift)と同じものを使ってmb4sqは実装しているのですが、ガラケー対応するにはかなり面倒なことをしなければならず、修正コストは結構高そうなのです…。が、あきらめずに要望出して交渉してみます!

2010-05-09 01:09:04
ROCA @rocaz

.@mb4sqjp OpenIDではこんな話 http://bit.ly/9BkDq3 もあるようです。URL文字列制限と言うことのようですが、OAuthでは問題なかったんですね

2010-05-09 01:11:19
モバイルフォースクエア @mb4sqjp

@rocaz OpenIDはよく知らなかったのですが、QueryStringがこんなに長くなるんですね…。4sqのoauthのコールバックでは、callbackURL?oauth_token={48文字のトークン} だけなので長さが問題にはなりませんでした。

2010-05-09 01:21:54