GAM を使用して Twitter に対して認証するには、以下の手順に従います:
Twitter Web サイトで「Twitter アプリケーション」を作成して、そのアプリケーションの Consumer Key および Consumer Secret を取得する必要があります。
Twitter の開発者向けの [ アプリケーション管理 ] ページ (https://apps.twitter.com/) に移動し、以下の設定を考慮して新しいアプリケーションを作成します:
図 1.Twitter アプリケーションの設定: 設定
重要: [ コールバック URL ] を http://<ドメイン>/oauth/gam/callback に、
[ WEB サイト ] を自分のドメイン (例: apps5.genexus.com) に設定します。
図 2.Twitter アプリケーションの設定: キーおよびアクセストークン
ここから、"Consumer Key" と "Consumer Secret" を取得します。
GAM Backend (
[ 認証タイプ ] リンク) を使用して「Twitter 認証タイプ」を定義します。
Twitter の開発者 Web サイトで取得した Consumer Key および Consumer Secret を入力します。
重要な注記
GAM Backend での [ コールバック URL ] の設定について: アプリケーションを実行するサーバーのドメインのみを入力する必要があります。
Web サイトの完全な URL を入力する必要はありません。ただし、入力する場合は、Java で "/servlet" を含めないようにします。
*この認証タイプは、Angular ジェネレーターでは使用できません。
Twitter 認証タイプは、Web アプリケーションおよびネイティブ モバイル アプリケーションでも使用できます。
ログインの実行方法の詳細については、「
GAMExampleLogin オブジェクト」を参照してください。
ネイティブ モバイル アプリケーションの場合、Twitter を使用して認証するために、ログインオブジェクトにイベントを追加する必要があります。
関連付けられたイベント内のロジックには、"LoginExternal" という名前の
Actions 外部オブジェクトのメソッドの呼び出しが含まれます。
最初のパラメーターは GAMAuthenticationTypes ドメインに基づきます。値は "Twitter" です。
この場合、&User パラメーターと &password パラメーターは無視されます。
&LoginExternalAdditionalParameters パラメーターには、認証タイプの名前を設定できる [ AuthenticationTypeName ] プロパティがあります。これは、リポジトリに複数の Twitter 認証タイプを定義できるためです。
Event 'Twitter'
Composite
&LoginExternalAdditionalParameters.AuthenticationTypeName = !"Twitterb"
GeneXus.SD.Actions.LoginExternal(GAMAuthenticationTypes.Twitter, &User, &Password, &LoginExternalAdditionalParameters)
Return
EndComposite
EndEvent
リポジトリ内の Twitter 認証タイプが 1 つだけの場合は、Twitter のログインは次のようにプログラミングできます (&LoginExternalAdditionalParameters を使用しない):
Event 'Twitter'
Composite
GeneXus.SD.Actions.LoginExternal(GAMAuthenticationTypes.Twitter, &User, &Password)
Return
EndComposite
EndEvent
詳細については、「
GAM の Login メソッド」を参照してください。
[ Twitter Consumer Key ] プロパティおよび [ Twitter Consumer Secret ] プロパティを設定する必要があります。追加情報については、「
GAM 使用時の Twitter Consumer Key および Twitter Consumer Secret プロパティ」を参照してください。
1.Twitter API では、ポートの指定なしでサイト URL を公開する必要があるので、たとえばポート 8080 でアプリケーションがホストされている場合、ポート 80 を使用するためにプロキシまたは同様のもの (Apache Web サーバーなど) を使用する必要があります。詳細については、このページの下部に記載されている追加情報を参照してください。
2.ユーザーは初めて Twitter にログインするときに、フォームに自分の電子メールを入力しなければならない可能性があります。
3.
重要: コールバック URL = http://<ドメイン>/oauth/gam/
callback を設定しないと、次のエラーになる可能性があります:
GAM 使用時の Twitter Consumer Key および Twitter Consumer Secret プロパティ
Facebook 認証タイプ
Google 認証タイプ