## Name

GLogin — allows for programmatic login to GAE applications

## URI format

The URI format for a GLogin endpoint is:

    glogin://hostname[:port][?options]

The `hostname` is either the internet hostname of a GAE application (e.g. `camelcloud.appspot.com`) or the name of the host where the development server is running (e.g. `localhost`). The `port` is only used when connecting to a development server (i.e. when `devMode=true`) and defaults to `8080`.

## Dependencies

Maven users will need to add a dependency on `camel-gae` to their poms as shown in Example 7, “GLogin dependency”.

Example 7. GLogin dependency

    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-gae</artifactId>
        <version>x.x.x</version>
        <!-- use the same version as your Camel core version -->
    </dependency>

## Options

Table 18, “GLogin options” lists the options for a GLogin endpoint.

Table 18. GLogin options

Name | Default | Required | Description
--- | --- | --- | ---
`clientName` | `apache-camel-2.x` | false | Specifies a client name using recommended format: `<organization>\-<appname>\-<version>`.
`userName` |  | true [a] | Specifies the login username.
`password` |  | true [b] | Specifies the login password.
`devMode` | `false` | false | Specifies whether to login to a development server.
`devAdmin` | `false` | false | Specifies if an attempt to login to the development server as an administrator is attempted.
[a] can alternatively be set via the `GLoginBinding.GLOGIN_USER_NAME` message header [b] can alternatively be set via the `GLoginBinding.GLOGIN_PASSWORD` message header

## Message headers

GLogin endpoints use the following `GLoginBinding` headers:

Name | Type | Message | Description
--- | --- | --- | ---
`GLOGIN_HOST_NAME` | `String` | IN | Overrides the hostname defined in the endpoint URI.
`GLOGIN_USER_NAME` | `String` | IN | Overrides the `userName` option.
`GLOGIN_PASSWORD` | `String` | IN | Overrides the `password` option.
`GLOGIN_TOKEN` | `String` | OUT | Contains the authentication token obtained from Google Accounts. Login to a development server does not set this header.
`GLOGIN_COOKIE` | `String` | OUT | Contains the application-specific authorization cookie obtained from Google App Engine (or a development server).