Fear the Cowboy

Life of Microsoft Open Source Developer

Kevin: I raise with an XPCOM interface; Chuck: I Call.

clock December 18, 2006 12:40 by author Garrett Serack

Chuck just dropped me a line, he's taken the XPCOM interface that Kevin defined in his FireFox extension for CardSpace and implemented the interface to allow his code to work in the same vein.  He's also added the code for a configuration dialog, which Kevin hadn't done yet, so now you can switch between the different Card Selectors in FireFox from a configuration dialog.

One word describes this: SWEET.

 

Chuck says it just perfectly:

The great news is that people implementing selectors will no longer need to worry about augmenting the browser. Now hopefully we can all quickly agree on a preferences structure to allow any implementation to easily add itself to the list.

If you're interested in writing you're own plugin, it's pretty simple...here's the basics of an XPCOM component that implements the plugin interface:

http://openinfocard.googlecode.com/svn/trunk/firefox/components/Identityselector.js

I was recently asked about this idea that there should be multiple card selectors, and doesn't that somehow break rule #7 "Consistent Experience Across Contexts" ?

 

The answer is, No, not really. It's important that each user is given a consistent experience across each context, not that different users experience the same thing.  As a matter of fact this impairs phishing attempts due to the phisher not really knowing what Identity selector they would have to fake out to dupe the user. 

This is just more Good News on the Identity Frontier.




Detecting CardSpace support, including FireFox

clock December 12, 2006 15:30 by author Garrett Serack

Detecting support for CardSpace, or more importantly information cards in the browser is pretty important, as it would allow the web developer the opportunity to appropriately show the "sign in with your information card" button/link or other text as needed.

The following Javascript will return true if you have support for information cards.

function AreCardsSupported()
{
  var IEVer = -1;
  if (navigator.appName == 'Microsoft Internet Explorer')
    if (new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})")
       .exec(navigator.userAgent) != null)
      IEVer = parseFloat( RegExp.$1 ); 

  // Look for IE 7+.
  if( IEVer >= 6 )
  {
    var embed = document.createElement("object");
    embed.setAttribute("type", "application/x-informationcard");

    if(  ""+embed.issuerPolicy != "undefined" )
      return true;
    return false;        
  }    
  // not IE (any version)
  if( IEVer < 0 && navigator.mimeTypes && navigator.mimeTypes.length)
  {
    // check to see if there is a mimeType handler.
    x = navigator.mimeTypes['application/x-informationcard'];
    if (x && x.enabledPlugin)
      return true;

    // check for the IdentitySelector event handler is there.
    var event = document.createEvent("Events");
    event.initEvent("IdentitySelectorAvailable", true, true);
    top.dispatchEvent(event);

    if( top.IdentitySelectorAvailable == true)
      return true;
  }
  return false;
}




CardSpace extension for FireFox Released!

clock December 12, 2006 13:55 by author Garrett Serack

This is very exciting news.

Kevin Miller, has released his FireFox extension for CardSpace. We have been collaborating for the last several weeks in order to for him to deliver this really critical piece of the Identity Metasystem.

Kevin's work on this has been nothing less than fantastic. I assisted him where I could, mostly in helping him test it, and giving him the sample code that I provide at the CardSpace Website

The extension, in it's first release is pretty damn impressive. It's got support for the whole <object> tag syntax, as well as the alternative <ic:information card> syntax, it's fully supported by scripting, and it seems to work pretty much exactly as the support in Internet Explorer 7.0.

Of course, it does rely on the .NET 3.0 framework, as this actually uses CardSpace to deliver the security token back to the browser. (which kinda limits it to Windows, right?)

 

BUT WAIT, THERE'S MORE?

He's built it in such a way that another identity selector can be plugged in, simply by implementing an XPCOM interface. This makes it significantly easier for other developers to get the same level of support from FireFox as CardSpace! (Hey, even IE can't do that...  yet!) I suspect this will accelerate much of the open-source identity selectors we're likely to see.

 

So how can we know that it's there?

Well, I confess, I've gotten to play with it a lot over the last week or two. Which means that I was able to jump the gun and figure out how to detect it. (Actually Kevin had to put some code in to *allow* me to detect it. FireFox-R-A-Tricksey browser!). I'll make another post here later today that demonstrates that.




Rules of Engagement. (2.0)

clock December 4, 2006 09:37 by author Garrett Serack

I originally wrote these rules, when I was a self-employed Consultant, but they remain fairly relevant, and I thought it might be useful to post them again, and possibly re-order and reflect upon what they mean.

Originally, they were:

  1. All Software Sucks
  2. In All likelihood Garrett is correct, try to save time and effort by agreeing in advance.
  3. Software that performs the required functionality is continually re-written, simply to make the software run on the platform that was rewrote, in order to make better software.
  4. I'd rather be lucky than skilled. Skill will only take you so far. Luck can get you everything.
  5. I don't believe in bibles. You can learn from a book, but books don't tell you what to do. (subject of an upcoming post for certain).

Now, the new Rules:

  1. I'd rather be lucky than skilled. Skill will only take you so far. Luck can get you everything.
    This is my new #1 rule. I just finished doing some reading and researching as to what "luck" really is.  It turns out luck  is something you do, not something you have. In either case, I believe the application of the principles can really assist you make the most out of life.
  2. That which admits no fault is not complete.
    This is a replacement for the old rule #1, with a good dose of Publilius Syrus.  It has occurred to me in the past that my loose and unfocused way of saying "All Software Sucks", was neither complete, nor enlightening.
  3. Trust the word of one who knows.
    As the replacement for #2, this really is the hubris-free version of the same thing. I think that it's important to use people who are well versed in their domain, and not to foolishly argue that which you know little of.
  4. Software that performs the required functionality is continually re-written, simply to make the software run on the platform that was rewrote, in order to make better software.
    Unchanged. It's an observation, and I'm still trying to come up with the general version.
  5. Books are the beginning of knowledge and wisdom, not the end.
    I'm not a subscriber of the concept that books are all there are to understanding anything, whether that be people, spirituality, technology, or pretty much everything. With each book, we can learn, but quoting books as a source of wisdom, is quite silly.

 




The Migration Begins

clock December 1, 2006 11:39 by author Garrett Serack

I'm going to start using this blog as my master blog. I'll still cross-post stuff to my other blogs, depending on exactly what the content is.

 

Who the heck am I?

My name is Garrett Serack. I currently am the Community Program Manager for Windows CardSpace and the Federated Identity technologies at Microsoft.  My mission, is to enable developers to leverage CardSpace in their applications; Web, WCF and otherwise. 

 

What am I working on?

I'm working on the ScintillaNET syntax-highlighting source code editor for .NET, based off the fantastic Scintilla edit control.

I'm building samples for CardSpace.

I'm currently helping Kevin Miller with the parts to a FireFox extension for CardSpace (and other Identity Selectors).





The Cowboy

What I'm Tweetering about...

 

follow me on Twitter

Calendar

<<  September 2010  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Sign in