GeneXus Access Manager を使用して次の手順に従うだけで、Google サイトでの認証を処理できます。
1. Google サイトで "Google クライアントアプリケーション" を作成し、そのアプリケーション用の Client ID と Client Secret を取得する必要があります。
https://code.google.com/apis/console にアクセスします。
2. API Access セクションに移動します; 最初に、資格情報セクションをクリックし、"OAuth Client id" を選択します:
[ Authentication Type ] で Web Application を選択します。
最後に、 [ Redirect URI ] を変更する必要があります。下図に示すように、/oauth/gam/signin を含めた、アプリケーションの完全な URI を指定できます:
重要な注記
すべての場合で (Java および .NET)、仮想ディレクトリーの後に /oauth/gam/signin を含めた完全形式のアプリケーションの URI を指定する必要があります。
GAM Web Backoffice を使用して、新しい認証タイプとして [ Type ] = Google を定義します。
Google サイトで入手した Client ID と Client Secret を入力します。
重要な注記
GAM Backend での [ Local site URL ] の設定について: アプリケーションの実行時にサーバーのドメインを入力する必要があります。
完全なサイト URL を入力する必要はありませんが、入力する場合、Java には "/servlet" を含めないでください。
ログインの実行方法の詳細については、「GAMExampleLogin オブジェクト」を参照してください。
スマート デバイス アプリケーションの場合、Google を使用して認証するために、ログインオブジェクトにイベントを追加する必要があります。
関連付けられたイベント内のロジックには、"LoginExternal" という名前の Actions 外部オブジェクトのメソッドの呼び出しが含まれます。
最初のパラメーターは GAMAuthenticationTypes ドメインに基づきます。値は "Google" です。
この場合、&User パラメーターと &password パラメーターは無視されます。
&LoginExternalAdditionalParameters には、認証タイプの名前を設定できる [ AuthenticationTypeName ] プロパティがあります。これは、リポジトリに複数の Google 認証タイプを定義できるためです。
Event 'Google'
Composite
&LoginExternalAdditionalParameters.AuthenticationTypeName = !"Googleb"
GeneXus.SD.Actions.LoginExternal(GAMAuthenticationTypes.Google, &User, &Password, &LoginExternalAdditionalParameters)
Return
EndComposite
EndEvent
リポジトリ内の Google 認証タイプが 1 つだけの場合は、Google ログインは次のようにプログラミングできます (&LoginExternalAdditionalParameters を使用しない):
Event 'Google'
Composite
GeneXus.SD.Actions.LoginExternal(GAMAuthenticationTypes.Google, &User, &Password)
Return
EndComposite
EndEvent
詳細については、「GAM の Login メソッド」を参照してください。
GAM の認証タイプ: Facebook
GAM の認証タイプ: Twitter
Additional Scope Property for GAM Google / Facebook Authentication Types
|