本記事では、Liferay PortalにFacebookログイン機能を設定する手順を紹介します。
解像度
Facebookデベロッパーアカウントの作成
まず、通常のfacebookアカウントと開発者用facebookアカウントの2つが必要です。 デベロッパーアカウントを取得する場合、
- facebookにサインインします。 通常のfacebookアカウントを使用する。
- developers.facebook.comに移動します。
- 画面右上の「今すぐ登録する」ボタンをクリックします。
- 開発者アカウントを取得するまで、プロンプトに従います。
バーチャルホストを設定する
Facebookアカウントに加え、バーチャルホストも必要になります。 Windowsの場合、以下の方法で実現できます:
- C:¥Windows¥System32¥drivers¥etc に移動する。
- hostsファイルに "127.0.0.1 [ホスト名].com "を追加する。
今回は、lportal.comを使用します。
この時点で、Facebook認証の設定は完了です。
Facebookアプリケーションの作成
まず、サインインに使うFacebookアプリケーションを作成します。
- developers.facebook.comにアクセスし、デベロッパーアカウントでログインします。
- 画面上部の横長のメニューで、「アプリ」をクリックします。
- "新規アプリの作成 "をクリックします。
- 表示されるポップアップで、アプリの名前を付け、アプリのカテゴリを任意に選択します。
- キャプチャーセキュリティチェックを記入する
- この時点で、新しいアプリの設定オプションが表示される画面が表示されます。 おめでとうございます、アプリが作成されました!
- 基本情報」のボックスで、「サンドボックス・モード」が無効になっていることを確認します。
- Facebookログインのあるウェブサイト」をチェックし、URLを聞かれたら「http://lportal.com:8080」と入力してください。
- "変更を保存 "をクリックします。
注:アプリのタイトルの下には、"アプリID "と "アプリシークレット "が記載されています。 LiferayがFacebookで認証するための設定には、この2つの項目が必要です。
Liferayを設定する
最後に、LiferayがFacebookを使ってユーザーを認証するように設定します。
注:lportal.comをお使いの環境で作成したバーチャルホストに置き換えることを忘れないでください。
- Liferay 6.1 バンドルを起動します。
- http://lportal.com:8080 に移動します。
- 管理者として、「コントロールパネル/ポータル設定/認証」を開き、横のメニューから「Facebook」をクリックします。
- 有効」チェックボックスにチェックを入れます。
- 各項目に以下を入力してください:
アプリケーションID:
facebookアプリのアプリケーションIDです。
アプリケーションシークレット:
facebookアプリのアプリケーションシークレットです。
グラフURL:
https://graph.facebook.com
OAuth認証URL:
https://graph.facebook.com/oauth/authorize
OAuthトークンURL
https://graph.facebook.com/oauth/access_token
リダイレクトURL:
http://lportal.com:8080/c/login/facebook_connect_oauth
[Save]をクリックします。
ログイン
あとは、サインインポートレットでFacebook機能を使ってサインインするだけです。
- 管理者としてログアウトする
- 必要に応じて右上をクリックし、サインインポートレットにアクセスします。 "Facebook "をクリックします。
- ポップアップで、通常アカウントのfacebook認証情報を入力します。
- facebookデベロッパーとして作成したアプリに、アカウントへのアクセスを許可するよう求められます。 許可してください。
これが承認されると、新しく作成されたfacebookユーザーとしてLiferayにログインすることになります。
追加情報
Invalid Redirect Error」が表示される場合は、認証設定を再確認してください。 リダイレクトurlが上記で作成したバーチャルホストを使用していることを確認します。