Titanium Mobile で Facebookログインをするとき

AndroidとiPhone同時進行の案件をやっているので、唐突ながらTitaniumを使ってみることにした。

まぁなんか思ったより結構いろいろとできるのね。

それでとりあえずが最初に引っかかったところ。Facebookログイン。

見よう見まねでとりあえずログインボタン作って、Facebook Appに登録して・・・見たいな事を一通りしたらかなりあっさりログインまでできた。

が、問題が一つ。どうあがいてもWebView的なのがポップアップしてログインIDとパスワードを求められてしまう。

本当は端末にインストールしてあるFacebookアプリに引き継いで、そのセッション情報を使いたい。つまり、パスワードを何度も入れさせたくない、ということだったので、これだと困る。

いろいろとあさっていると、どうやらやりたいことはSingle-Sign-On (SSO) と呼ばれているらしいこととか、Facebook側の管理画面をちゃんと設定しろ、とか、拡張を使えば出きるよ、とかいろいろと情報がでてきたが解決できず。

最終的にたどり着いて (とりあえずAndroidに関しては) 解決したのが「Titanium.Facebook.forceDialogAuth」をfalseに設定すること。

これでとりあえずAndroidではうまく動いた。Facebookアプリが起動して、そこからセッション情報を引き継いでくれた。 (iOSは未確認。またFacebookアプリが入っていない場合も未確認。だがきっとうまく動いてくれるに違いない。違いない。)めでたしめでたし。

多分ちゃんとマニュアルを舐めるように読めばかいてあるんだろうな。あんまみんな悩んでなかったっぽいし。

iPadでも早めに試しておこう。

(参考: API for Titanium.Facebook.forceDialogAuth)

Comments are closed.