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

GeneXus Access Manager (GAM) では、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 ] フィールドに有効な値を入力します。
有効な形式は https://<サーバー>/<ベース URL>/oauth/gam/callback です。
このフィールドには、必要な数の URI を入力できます。たとえば、モバイルアプリケーションの REST Web サービスが Web アプリケーションから分離されている場合、その URL も以下の形式で追加する必要があります:
https://<サーバー>/<サービスのベース URL>/oauth/gam/callback
[ Web OAuth Login ] は常に YES に設定する必要がある点にも注意してください。
: 忘れずに、FB アプリケーションを公開にしてください。

2. "Facebook 認証タイプ" の定義

"Facebook 認証タイプ" の定義は、GAM Backend または GAM API を使用して行います。[ 認証タイプ ] リンクに移動します。
イメージ:52329.jpg
重要な注記: 指定された 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

重要

アプリケーションのテストを行うためには、開発者ロールを追加する必要があります。
イメージ:56215.png
詳細については、「GAM の Login メソッド」を参照してください。

ソフトウェア要件

  •     Java: JDK 1.7 以降をアプリケーションサーバーにインストールする必要があります。さもなければ、Facebook の証明書を JVM のキーストアにインストールする必要があります。
  •     Csharp: Facebook の証明書を Windows サーバーにインストールする必要があります。
注:
1. Facebook 認証は、OAuth を使用して解決されます。
2. "友達と連携" したい場合、またはユーザーがログインした後に特定のアクションを行う場合は、Facebook API との通信が必要です。そのような場合、GAMSession EO の ExternalToken メソッドを取得する必要があります。このメソッドを呼び出した結果を Facebook API に渡します。

参考情報

Facebook アプリケーションを登録する方法
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: 24/11/05 18:57 by Admin
カテゴリ
Powered by GXwiki 3.0