How to use .Net passport

Many people are under the impression that they either need a hotmail.com or msn.com email address to use MSN Messenger or that once they have picked a name to use with MSN Messenger, it cannot be changed. This is incorrect. Most Microsoft services, such as MSN Messenger, use the .Net Passport account.

The passport was Microsoft’s elegant solution to the problem of having a username and password for every website. Instead of having a separate username and password for signing into Amazon and then another for eBay, Microsoft argued that the web user experience could be enhanced by registering a single username and password with .Net Passport. After signing in to Amazon with my passport username and password, I would not need to enter it again when I visited eBay. My passport would automatically submit my username and password to Amazon. In technical circles, this is called Single Sign-On (SSO).

Despite the need for such a service, Passport never caught on over concerns that it would place too much power in Microsoft’s hands. A few companies such as Citibank, eBay and Monster supported it for a while, but today, outside of Microsoft web properties, Passport is effectively dead.

However, for those of us who use Microsoft’s products (that’s most of us), it has its advantages. I can sign in to MSN Messenger, and then when I log on to read my hotmail.com or msn.com email, Messenger can pass along my credentials so that I do not have to log on again. When I register for the Microsoft webcast, the exact exchange takes place.

All of the information in the Passport account can be modified from the Passport website (http://www.passport.net/). If you do not already have a .NET Passport account, you can create one on the website.

From the .NET Passport website, click the big Signup graphic. You will be taken to a new page to fill in your information. Fill in whatever email address you would like to use, a password, and agree to the .NET Passport agreement.

Modifying an existing account
Click the button and you will be taken to the .Net Passport authentication page.

Enter your passport credentials. Notice I am using a .Net Passport account that has a gmail address. If you would like to automatically authenticate to .NET Passport sites click the check box next to “Sign me in automatically”. For various security reasons I usually leave this unchecked. If you are on a public computer such as an internet café make sure to click the check box next to “Do not remember my e-mail address for future sign-in. (Select this when using a public computer.)”

Once you have been successfully authenticated to the site you will be redirected back to the main page. Note that the , button has changed to . Click the Member Services link and you will be taken to a page where you can customize the information in your .Net Passport account.

To change the email address used in your .Net Passport account click the “I need to change this” link just below your email address. Enter a new email address and your password and click the Change button. Click back to member services to further customize your .NET Passport account.

Get Google Talk, iChat, MSN, Yahoo Messenger and AOL Messenger all talking

Update 2009: This setup no longer works. Microsoft, Google, et al. have abandoned these platforms. You can read about the deprecated APIs on the Adium help page. Unfortunately, most people have moved to Twitter and other social media platforms.

Like most technology people I know, I have multiple Instant Messenger (IM) accounts because not everyone I chat with uses the same provider. My personal favourite is Google Talk because I like simple interfaces and open platforms, and Larry Page is a University of Michigan alumnus (Go Blue!).

But most of my family and friends have settled on either one of MSN, AOL, or Yahoo. At first, I downloaded each client application but was tired of installing and launching multiple IM clients, each with a unique interface. I wanted one protocol to bind them and one client to rule them all. I discovered the wonderful world of multi-protocol instant messaging clients like GAIM.

A free chat client used by millions. Connect easily to MSN, Google Talk, Yahoo, AIM and other chat networks all at once.

Wow, I thought. That sounds awesome! Yes. It is. I downloaded GAIM and several plug-ins, and I was quite happy for a while. Users can log in to multiple accounts on multiple IM networks simultaneously and chat with their friends on AOL, MSN and Yahoo. This worked well for a while. GAIM even supports Lotus Sametime, which my employer uses. Now, I had one client to rule them all. However, I soon discovered that Yahoo support started failing. Then, it was fixed. Then MSN support started failing. And it was fixed. Then, AOL support started failing. And it was fixed. And on and on.

Of course, the problem is that the major IM providers all use different proprietary systems and protocols. They kept making changes to their systems, which would break the functionality of GAIM. The GAIM developers would update the software, and then the IM vendors would change the protocol and .......on and on.

The search for a solution

I bought an Apple Mac mini and a MacBook, and I had to start the process again. I discovered that OS-X's iChat messaging client supported on iChat, AOL and Jabber. I never got GAIM to work on OS-X, but I did find IM clients based on GAIM, such as Adium. Adium was similar to GAIM and crashed very often. I searched for a better way, and that way was Cavemonkey.

While Googling for a solution, I came across an article on the Cavemonkey blog. The blog's author, Ronald Heft, Jr., is a freshman at Penn State in Lehigh Valley, PA. He details using the Jabber protocol to add Google Talk, MSN, Yahoo and AOL connectivity to iChat. I followed his directions and was soon using iChat to ping my friends. It was when I returned to work the following day and logged into Google Talk that I discovered the brilliance of this solution.

All of the IM protocols were bound to my Google Talk account. I could IM my friend on MSN from Google Talk. The magic is that Google Talk is built on the Extensible Messaging and Presence Protocol (XMPP) protocol that was developed by the Open-source Jabber community.

"[Jabber is] an open, secure, ad-free alternative to consumer IM services like AIM, ICQ, MSN, and Yahoo (see the IM quickstart). Under the hood, Jabber is a set of streaming XML protocols and technologies that enable any two entities on the Internet to exchange messages, presence, and other structured information in close to real time." -- jabber.org

Jabber supports the concepts of transports. A "transport" is a small computer program that runs on a Jabber server and “translates” messages from other networks into the Jabber format.

Jibber Jabber

So enough already! How do we do this? My buddy Chris P. was excited when I mentioned that he could use Google Talk to communicate with the other IMs. So these instructions are written for Chris P.

The Google Talk servers do not provide transports so we will use another jabber server and client to bind the transports back to our Google Talk server accounts. A list of public Jabber servers can be found here but for this example I will use the jam. At server. NOTE: I did this on Windows Vista beta two, but it will work on Windows XP.

  1. Download and install Google Talk.
  2. Download and install Psi.
  3. Setup Psi to use your Google Talk account. The instructions are here.
  4. Account setupNow add the public Jabber server to Psi and create an account on that server. Click the Psi symbol in the lower left corner of the Psi application window and select "Account Setup" to launch the Account Manager. In the account manager, click on the add button. On this screen, enter in anything you want to call the account and be sure to check the register new account check box.
  5. Add account wizard
  6. Now, enter in a user name in the Jabber ID box, and add @[your main Jabber server] to the end of it. Choose a password, and click register. We’re done setting up the account!
  7. Register the account
  8. Going onlineNow we want to attach transports to the Google Talk account. Make sure you are logged into the jabber and the Google Talk account. Right-click the account and select "Online."
  9. Service Discovery
  10. To add transports right-click the Google Talk server icon again and click "Service Discovery." This will bring up a window with a list of service transports. Since Google Talk servers do not provide transports, we need to first connect to a server with the transports we require. Just enter in the server with the transports in the address field and click browse. Now both Google Talk and regular Jabber users are in sync.
    We will add the MSN transport first, but each of the others can be added just as quickly.
  11. Transport list
  12. Registering a transportRight-click the MSN transport and click "Register." Enter your MSN password and click "Register." Do the same for all the other transports. Once you’ve registered all your transports, click close, and close Psi. You no longer need it.
  13. Launch and log-in to Google Talk and your contacts should appear instantly.
  14. Google Talk

That's all there is to it. Now you can use Google Talk to communicate with your buddies on other IM services. There is one caveat regarding adding contacts. When adding contact you will have to use the following format: [contact name]@[protocol].[server]. So if you wanted add a Yahoo account ( shane@yahoo.com) on the jabber server you would use shane@yahoo.jaim.at. MSN contacts ( bhavana@msn.com ) are a little different: bhavana%msn@msn.jaim.at.