Windows Live ID: Why we can't have nice things

November 26, 2011

###Context So I recently started investigating Microsoft Dynamics CRM 2011 Online. And of course in true Microsoft fashion it took me about 24 hours to do something that took me 15-minutes on Salesforce: learn how to authenticate my backend services to their web services. Why? In short, Windows Live ID and Windows Identity Foundation (WIF) have to be one of the least visible but most uneccessarily proprietary authentication mechanisms this side of Ganga River.

###Cookie-Jacking!

At first I tried cookie-jacking. Where I would investigate the cookie that was provided in the response and present that token back to the web services. Of course this was undocumented. But I figure if I was writing a pure Javascript implementation this would be the perfect way to go since their OData Feed returns pure JSON. In short, it works great but is not the most optimal solution.

Cookie:crmf5cookie=3897758986.20480.0000; MSISAuth=77u/PD94bWwgdmVyc2lvbj0iM...

###Convoluted…

is an understatement. The question is why didn’t Microsoft just implement OAuth 2.0 for their Dynamics Online product? How can you be “all-in on the web” and expect people to now roll their eyes when your authentication implementation excludes their favorite technology from integrating nicely into your flagship Enterprise Product? OData is great, why throw a brick wall around it?

###Srsly DeviceIdManager? K Thx Bai

This class from the (SDK Sample) has got to be some of the most interesting code style I have seen in my few years as a Microsoft developer. And don’t even get me started on the zomg gratuitous code folding!

###So what’s a poor MS dev to do?

Rewrite the damn thing. Over the course of the next couple days I’ll be writing a few helper classes to make sure people who want to connect to Dynamics CRM 2011 Online can actually do so.

###Microsofties – Please Reach Out!

If you’re a Microsoftie (evangelist, developer, marketer or any of the above) who wants to chat about making Enterprise class software accessible to great developers, please get in touch (via the comments or github)!

Let’s be honest. Sales is hard and not nearly as glamorous as we might hope or think! Developers at these shops get some serious grief because they have a hard time making the technology that backs the sales process work smoothly as other systems.

###Happy Developers, Good Business

This has the added benefit of being good business! Get the conversation started. That’s the game, you’ve already won. People don’t talk about bad technology, they simply dismiss it, they don’t have the time. Good products get time, they get attention, they get their name inside that nice blue box on the whiteboard and they get visibility.

Let's get this done.

Comments

comments powered by Disqus