最近のアクセス:
GAM の認証タイプ: Facebook

GeneXus Access Manager では、Facebook を使用して認証を行うことができます。
概要

手順

1.「Facebook クライアントアプリケーション」の作成

Facebook サイトで「Facebook クライアントアプリケーション」を作成し、そのアプリケーションの App Id および App Secret を取得します。
次の図に示すように、Facebook の開発者ページ (http://developers.facebook.com/) に移動し、 [ My apps ] 、 [ Add a new app ] を選択します:
イメージ:37857.png
イメージ:37858.png
イメージ:37859.png
[ Site URL ] に http://<ドメイン> (例: apps5.genexus.com) と入力します。
イメージ:37860.png
[ settings ] > [ Basic ] に移動し、アプリケーションの App Id と App Secret を取得します。
イメージ:37861.png
[ Products ] > [ Facebook Login ] > [ Settings ] に移動します。 [ Valid OAuth redirect URIs ] フィールドに有効な値を入力します。
有効な形式は http://<サーバー>/<ベース URL>/oauth/gam/callback です。
このフィールドには、必要な数の URI を入力できます。たとえば、モバイルアプリケーションの REST Web サービスが Web アプリケーションと別である場合、その URL も加える必要があります。次の形式になります:
http://<サーバー>/<サービスのベース URL>/oauth/gam/callback
 
[ Web OAuth Login ] は常に YES に設定する必要がある点にも注意してください。
注: 忘れずに、FB アプリケーションを公開にしてください。

2.「Facebook 認証タイプ」の定義

「Facebook 認証タイプ」の定義は、GAM Backend または GAM API を使用して行います。[ 認証タイプ ] リンクに移動します。
イメージ:39426.png
重要な注記: 指定された Local site URL は、アプリケーションが実行されるドメインのみです。サイトの完全な URL を入力する必要はありません。たとえば、http://apps6.genexus.com のように入力します。
サイトの完全な URL を入力した場合も正しいですが、Java では「/servlet」を含めないでください。
Facebook 認証タイプは、Web アプリケーションおよびネイティブ モバイル アプリケーションでも使用できます。

Web アプリケーション

ログインの実行方法の詳細については、「GAMExampleLogin オブジェクト」を参照してください。
検討事項: LoginFacebook 関数は、ポップアップウィンドウで期待どおりに動作しません (同じことが LoginTwitter でも起こります)。これは、HTML iFrame からのリダイレクトをサポートしていないサイトの制限です。回避策については、SAC #34259 を参照してください。

ネイティブ モバイル アプリケーション

ネイティブ モバイル アプリケーションの場合、Facebook を使用して認証するために、ログインオブジェクトにイベントを追加する必要があります。
関連付けられたイベント内のロジックには、「LoginExternal」という名前の Actions 外部オブジェクトのメソッドの呼び出しが含まれます。
1 つ目のパラメーターは GAMAuthenticationTypes ドメインに基づき、その値は「Facebook」にする必要があります。
この場合、&User パラメーターと &password パラメーターは無視されます。
&LoginExternalAdditionalParameters には、認証タイプの名前を設定できる [ AuthenticationTypeName ] プロパティがあります。これは、リポジトリに複数の Facebook 認証タイプを定義できるためです。
Event 'Facebook'
    Composite
        &LoginExternalAdditionalParameters.AuthenticationTypeName    = !"facebook1"  
      GeneXus.SD.Actions.LoginExternal(GAMAuthenticationTypes.Facebook, &User, &Password, &LoginExternalAdditionalParameters)
      Return
    EndComposite
EndEvent
リポジトリ内の Facebook 認証タイプが 1 つだけの場合は、Facebook ログインは次のようにプログラミングできます (&LoginExternalAdditionalParameters を使用しない):
Event 'Facebook'
    Composite
        GeneXus.SD.Actions.LoginExternal(GAMAuthenticationTypes.Facebook, &User, &Password)
        Return
    EndComposite
EndEvent
詳細については、「GAM の Login メソッド」を参照してください。

ソフトウェア要件

  •     Java: JDK 1.7 以降をアプリケーションサーバーにインストールする必要があります。さもなければ、Facebook の証明書を JVM のキーストアにインストールする必要があります。
  •     Csharp: Facebook の証明書を Windows サーバーにインストールする必要があります。

1. Facebook 認証は、OAuth を使用して解決されます。
2. 友達と連携したい場合、またはユーザーがログインした後に特定のアクションを行う場合は、Facebook API との通信が必要です。そのような場合、GAMSession 外部オブジェクトの ExternalToken メソッドを取得する必要があります。このメソッドを呼び出した結果を Facebook API に渡します。

関連情報

GAM: Facebook API の呼び出し例
GAM の認証タイプ: Twitter
GAM の認証タイプ: Google
Additional Scope Property for GAM Google / Facebook Authentication Types
iOS 6.0 Facebook Integration
Windows Phone Facebook Integration



サブページ
Created: 16/07/13 19:05 by Admin Last update: 22/03/14 00:43 by Admin
カテゴリ
Powered by GXwiki 3.0