Interesting discussion going on on Chris’ blog about OpenID & usability. There are many aspects I’d like to discuss, but it’s 11:34pm and “tomorrow” I have a conference call at 7:00am (sometimes the fact that the Earth is round DOES suck: sorry, Cristoforo): hence I better pick carefully. Ah, did you read the disclaimer that says that my opinions are just mine and do not necessarily reflect the positions of my company? Before linking & flaming repeat it mantra-style a few times :-)
The nice part about the home real discovery is that it has a simple & elegant solution, which happens to work well on the internet too: information cards. Let’s make the easy case, and RP that just want to get a token from you regardless of from where you’ll obtain it. Let’s say that you are affiliated to 3 different providers: for each of them you have a card. The RP just need to specify that it needs a token made in a certain way: once you’ll land on his pages, all the cards that satisfy the requirements will light up. The same will happen to everybody else, regardless of from where they are obtaining their tokens: the RP does not need to worry about providing any drop-down. In other words, you are relieving the RP from providing UI that takes into account the affiliations of all possible users while relying on who already have the right information, the user (helped by the card selector). In enterprise scenarios this works beautifully. A business ISV offering federated access to their S+S application would just ask for a token made in a certain way: employees of company A will see their A card light up, while employees of B will see B cards just because that’s what the users have in their respective selectors. This would beautifully support the “universal” button that Chris describes, and in fact that’s easy to do with cardspace today.
Alrighty, I ended up spending one hour on the above; and I didn’t even touch the phishing parts! I’ll have to set up firecrackers together with the usual alarm in the smartphone. I usually don’t comment on those topics, because I am painfully aware of the fact that I am not as deep as I would like to be on the OpenID topic: however the above is more pure architecture than anything else. And again, remember the disclaimer! This is me blathering late at night, not a spokesperson. If you comment or link to here, please say “Vittorio writes…” or “that hairy character writes…” and avoid cheap shots at my company by saying “a Microsoft employees writes…”. Healthy discussion!!! :-)
PingBack from http://microsoft-sharepoint.simplynetdev.com/one-does-not-simply-walk-into-mordor-or-home-realm-discovery-for-the-internet/
Thanks for your comments. As I'm not native to the enterprise space, it's useful to hear about the pre-existing ways of describing these issues.
The big issue that I have with your conclusion (to use CardSpace) falls back to adoption, once again. For me, everything comes down to adoption. Changing the client is just not something I can advocate for in the range of my influence.
I think that the CardSpace metaphor is more or less the correct one, but I want this to work on my iPhone as well, and I'm still waiting for an answer as to how that would work for me.
By saying something like "The RP just need to specify that it needs a token made in a certain way", I think you ignore the depths one would have to go to get ALL RPs to ask in the same, uniform way. RPs don't just fall in line because it seems convenient or useful to do so. You have to get over inertia and the way that distributed and decentralized systems always operate to the lowest common denominator.
In any case, I'd be curious how you'd go about bringing CardSpace to the "last mile" when it comes to internet-enabled, browser-wielding devices that can at least do OpenID as it exists today?
Hi Chris, of course the availability of the client is a key concern. Institutions like the OASIS IdM TC and the information card foundation are doing all the right steps, by ensuring that the standards is this space are clear and everybody can create its own selector confident that it will work with everything else. I believe that as issues like the one you discussed in your post become more pressing, the appeal of a strategic solution such as the card selector will grow stronger; and with it the incentive for everybody to provide it in their platforms.
One thing which is think is especially important to realize is that the capabilities we are talking about ehre must live OUTSIDE of the browser; whatever is rendered within that magic rectangle is decided by a server, hence whatever in-browser solution we find will always be susceptible of being replicated (in substance or appearance) by a malicious redirect. A piece of software residing on the client, outside of the browser but working in synergy with it, allow you to leverage user info (ie card collections, home realm, etc) that would be inmpractical to handle from the server (think infinite dropdown) but above all CANNOT be replicated with a simple redirect, requiring full control of the machine for being messed with.
This is a painful concept to swallow, because distributing things with the brower is so much easier; but I think that there's really no way around it. Ah, as usual this is MY position which may or may not correspond to the official one from my company :-)