54.4. glogin


glogin コンポーネント

重要
GAE コンポーネントは非推奨となり、JBoss Fuse の今後のリリースで削除される予定です。
Apache Camel 2.3 (または最新の 開発スナップショット)で利用 できます。
glogin コンポーネントは、GAE アプリケーションにプログラムによるログインを行うために、Google App Engine (GAE)以外の Apache Camel アプリケーションによって使用されます。これは、54章GAE の一部です。セキュリティー対応の GAE アプリケーション は通常、ユーザーをログインページにリダイレクトします。認証用のユーザー名とパスワードを送信すると、ユーザーはアプリケーションにリダイレクトされます。これは、クライアントがブラウザーであるアプリケーションで適切に機能します。その他のすべてのアプリケーションでは、ログインプロセスをプログラムで行う必要があります。プログラムによるログインに 必要なすべての手順 は、glogin コンポーネントによって実装されます。これらは以下のとおりです。
  1. ClientLogin API 経由で Google アカウント から認証トークンを取得します。
  2. Google App Engine のログイン API から承認クッキーを取得します。
その後、承認クッキーは後続の HTTP リクエストを GAE アプリケーションに送信する必要があります。24 時間後に期限切れになり、更新する必要があります。

URI 形式

glogin://hostname[:port][?options]
Copy to Clipboard Toggle word wrap
ホスト は、GAE アプリケーションのインターネットホスト名(例: camelcloud.appspot.com)または 開発サーバー が実行されているホストの名前(例: localhost)です。この ポート は、開発サーバー( devMode=true の場合)に接続する場合にのみ使用され、オプションを参照してください。デフォルトは 8080 です。

オプション

Expand
名前 デフォルト値 必須 説明
clientName apache-camel-2.x false < organization>\-<appname>\-<version> の形式が推奨されるクライアント名 (必須ではありません)。
userName null true ( GLoginBinding.GLOGIN_USER_NAME メッセージヘッダーで設定できます) ログインユーザー名(メールアドレス)。
password null true ( GLoginBinding.GLOGIN_PASSWORD メッセージヘッダーで設定することもできます) ログインパスワード。
devMode false false true に設定すると、開発サーバーへのログインが試行されます。
devAdmin false false true に設定すると、admin ロールで開発サーバーへのログインが試行されます。

メッセージヘッダー

Expand
名前 タイプ メッセージ 説明
GLoginBinding.GLOGIN_HOST_NAME 文字列 in エンドポイント URI で定義されたホスト名を上書きします。
GLoginBinding.GLOGIN_USER_NAME 文字列 in userName オプションを上書きします。
GLoginBinding.GLOGIN_PASSWORD 文字列 in パスワード オプションを上書きします。
GLoginBinding.GLOGIN_TOKEN 文字列 out Google アカウント から取得した認証トークンが含まれます。開発サーバーにログインしても、このヘッダーは設定されません。
GLoginBinding.GLOGIN_COOKIE 文字列 out Google App Engine (または開発サーバー)から取得したアプリケーション固有の承認クッキーが含まれます。

メッセージボディー

glogin コンポーネントはメッセージの本文を読み書きしません。

使用方法

以下の JUnit テストは、開発サーバーと、http://camelcloud.appspot.com にあるデプロイされた GAE アプリケーションにログインする方法を示しています。
GLoginTest.java
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.ProducerTemplate;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import static org.apache.camel.component.gae.login.GLoginBinding.*;
import static org.junit.Assert.*;

public class GLoginTest {

    private ProducerTemplate template = ...

    @Test
    public void testDevLogin() {
        Exchange result = template.request("glogin://localhost:8888?userName=test@example.org&devMode=true", null);
        assertNotNull(result.getOut().getHeader(GLOGIN_COOKIE));
    }

    @Test
    public void testRemoteLogin() {
        Exchange result = template.request("glogin://camelcloud.appspot.com", new Processor() {
            public void process(Exchange exchange) throws Exception {
                exchange.getIn().setHeader(GLOGIN_USER_NAME, "replaceme@gmail.com");
                exchange.getIn().setHeader(GLOGIN_PASSWORD, "replaceme");
            }
        });
        assertNotNull(result.getOut().getHeader(GLOGIN_COOKIE));
    }

}
Copy to Clipboard Toggle word wrap
開発サーバーにログイン時の承認クッキーは次のようになります。
ahlogincookie=test@example.org:false:11223191102230730701;Path=/
Copy to Clipboard Toggle word wrap
デプロイされた GAE アプリケーションにログインした認証クッキーは、以下のように表示されます。
ACSID=AJKiYcE...XxhH9P_jR_V3; expires=Sun, 07-Feb-2010 15:14:51 GMT; path=/
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat