views:

21

answers:

2

In the App Engine docs, a JID is defined like this:

An application can send and receive messages using several kinds of addresses, or "JIDs."

On Wikipedia, however, a JID is defined like this:

Every user on the (XMPP) network has a unique Jabber ID (usually abbreviated as JID).

So, a JID is both a user identifier and an application address?

+1  A: 

A JID is globally unique in that anyone sending an XMPP message as [email protected] can be you.

However, an App Engine app can send XMPP messages as any number of JIDs.

Your app can send XMPP messages as [email protected] or as [email protected] or as [email protected] or as [email protected].

These IDs are still globally unique and identifying -- anyone sending an XMPP message as [email protected] can be assumed to be your app.

Jason Hall
Globally unique is a little strong. Here's the description from the RFC Joe referenced: '''jid = [ localpart "@" ] domain [ "/" resource ]'''. It's the /resource part that makes it not globally unique, and on purpose. A JID isn't like a MAC address. You need to separate the authentication for a JID to what resources may exist. If my JID is [email protected], I can have full JIDs with resources of /home, /work, and /mobile, and receive messages sent to [email protected] at any or all of the full JIDs. That's why I wouldn't call the JID unique. (Identity is a little different.)
A. R. Diederich
A: 

Since I happened to have this up in my browser, the current best canonical definition of JIDs is here: draft-saintandre-xmpp-address, which just got pulled out of RFC3920bis.

Joe Hildebrand