JS

NodeJS + Facebook JavaScript SDKを使ってサーバー側で認証チェックをする

Facebook JavaScript SDKを使えばクライアント側でログイン認証の処理が簡潔に実現できますが、自前のWebアプリのサーバー側で提供するAPIを呼びたい時に、API側でも認証のチェックをした方が良いです。 例えば、DBのエントリを削除するよるREST APIを作ったとして、誰もが消せてしまったら困りますよね。エントリを作成した人のみが削除権限を持つような仕組を実装したい場合は、サーバー上のDELETEのAPIで本当にその人であるかの確認を行う必要があります。今回はJavaScript SDKを使ってログインが完了したユーザーのアクセストークン(FB.getLoginStatusを読んだ時に得られるトークン)をNodeJSのexpress環境で作成したREST APIの中でverifyする例を紹介します。 (more…)

JS

Facebook JavaScript SDKをrequireJSでロードする

Facebook Webアプリを作る際に便利なFacebook JavaScript SDKというものはご存知でしょうか。 これを使うと、クライアント側の認証やFBのAPIの呼び出しを簡単にJSで実現できます。 ただしSDKのロードは非同期に行われるため、コールバック等の扱いがやや複雑になります。特にrequireJSと組み合わせると、自作のモジュールの読み込みもasyncになるため、FB SDKのasyncのロードと整合性を合わせる必要があります。 今回はFB SDK+requireJSを使って、主にSDKロードからユーザーのログイン周りの処理の方法を紹介します。 (more…)

JS

Facebookログインボタンを設置する方法

Facebookの認証を使用したアプリケーションを作る際に必要なlogin button設置の方針について今回は記事を書きます。 自作のWebアプリケーションでfacebookのログインを実装する方法は大きく2つあります。一つは、"Facebookが提供しているクライアント側のみで認証処理を行うJavaScript SDKを使う方法"。もう一つは、昔ながらの"サーバー側で認証の処理を行い、クライアント側には単なるボタンのリンクを貼る方法"です。 もちろんアプリケーションが提供する機能や実装の都合など、場合に応じて選択するアプローチは異なってくるでしょう。今回はボタンを設置する場合にデザインのカスタマイズや国際化という観点から両者を比較してみます。 (more…)