{"id":684,"date":"2007-02-17T22:16:51","date_gmt":"2007-02-18T06:16:51","guid":{"rendered":"\/?p=684"},"modified":"2007-02-18T20:03:58","modified_gmt":"2007-02-19T04:03:58","slug":"helloworld-information-cards","status":"publish","type":"post","link":"https:\/\/www.identityblog.com\/?p=684","title":{"rendered":"HelloWorld Information Cards"},"content":{"rendered":"<p>One of the most important things about the Information Card paradigm is that the cards are just&nbsp;ways for the user to represent and employ&nbsp;digital identities (meaning sets of claims about a subject).&nbsp;<\/p>\n<p>The paradigm doesn&#39;t say anything about what those claims look like or how they are encoded.&nbsp;&nbsp;Nor does it&nbsp;say anything about the cryptographic (or other)&nbsp;mechanisms used to validate the claims.&nbsp;<\/p>\n<p>You can really look at&nbsp;the&nbsp;InfoCard technology as just being<\/p>\n<ol>\n<li>a way that a relying party can ask for&nbsp;claims of &#8220;some kind&#8221;;<\/li>\n<li>a&nbsp;safe environment&nbsp;through which the user can understand what&#39;s happening; and<\/li>\n<li>the tubing through which a related payload is transfered from&nbsp;the user-approved&nbsp;identity provider to the relying party.&nbsp; The goal is&nbsp;to&nbsp;satisfy the necessary claim requirements.&nbsp;<\/li>\n<\/ol>\n<p>If you have&nbsp;looked at other technologies for exchanging&nbsp;claims (they not called that, but&nbsp;are at heart the same thing),&nbsp;you will see this system disentangles the communication protocol, the trust framework and the payload formats, whereas previous systems conflated them.&nbsp; Because there are now three&nbsp;independent axes, the trust frameworks and payloads can evolve without destabilizing anything.<\/p>\n<p>CardSpace &#8220;comes with&#8221; a &#8220;simple self-asserted identity provider&#8221; that uses the SAML 1.1 token format.&nbsp; But&nbsp;we just did that&nbsp;to &#8220;bootstrap&#8221; the system.&nbsp; You could just as well send SAML 2.0 tokens through the tubing.&nbsp; In fact, people who have followed the Laws of Identity and Identity Metasystem discussions know that the <a href=\"\/?p=354\">fifth law of identity<\/a> refers to a pluralism of operators and technologies.&nbsp;&nbsp;When speaking&nbsp;I&#39;ve talked about why different underlying identity technologies make sense, and compared this pluralism to the plurality of transport mechanisms underlying TCP\/IP.&nbsp; I&#39;ve spoken about the need to be &#8220;token agnostic&#8221; &#8211; and to be ready for new token formats that can use the same &#8220;tubing&#8221;.<\/p>\n<p>There have been some who have rejected the open &#8220;meta&#8221; model in favor of just&nbsp;settling on&nbsp;tokens in the &#8220;concept de jour&#8221;.&nbsp; They urge us to forget about all these subtleties and just adopt SAML, or PKI, or whatever else meets someone&#39;s use cases.&nbsp; But the sudden rise of OpenID shows exactly why we need a token-agnostic system.&nbsp; OpenID has great use cases that we should all recognize as important.&nbsp; And because of the new metasystem architecture, OpenID payloads can be selected and conveyed safely through the Information Card mechanisms just as well as anything else.&nbsp; To me it is amazing that the identity metasystem idea isn&#39;t more than a couple of years old and yet we already have an impressive&nbsp;new identity technology arising.&nbsp; It provides&nbsp;an important example of why an elastic system like CardSpace is architecturally right.&nbsp;<\/p>\n<p>It&#39;s sometimes hard to explain how all this works under the hood.&nbsp; So I&#39;ve decided to give a tutorial about &#8220;HelloWorld&#8221; cards.&nbsp; They don&#39;t follow any format previously known to man &#8211; or even woman.&nbsp; They&#39;re just someting made up to show elasticity.&nbsp; But I&#39;m hoping that when you understand how the HelloWorld cards work, it will help you see the tremendous possibilities in the metasystem model.<\/p>\n<p>The best way to&nbsp;follow this tutorial is to actually try things out.&nbsp; If you want to participate, install CardSpace on XP or use Vista, download a HelloWorld Card and kick the tires.&nbsp; (I&#39;m checking now to&nbsp;see if other selector implementations will support this.&nbsp; If not, I know&nbsp;that compatibility&nbsp;is certainly the intention on everyones&#8217; part).&nbsp;<\/p>\n<p>The HelloWord card is just metadata for getting to a &#8220;helloworld&#8221; identity server.&nbsp; In upcoming posts I&#39;ll explain&nbsp;how all this works in a way that&nbsp;I&nbsp;hope will make the technology very clear.&nbsp; I&#39;ll also make the source code available.&nbsp; An interesting&nbsp;note here:&nbsp; the identity server is just a few&nbsp;hundred lines of code.&nbsp;<\/p>\n<p><a href=\"https:\/\/www.identityblog.com\/helloworld\/request-card.php\" class=\"broken_link\"><img src=\"\/wp-content\/images\/2007\/02\/helloworld.jpg\" \/><\/a><\/p>\n<p>To&nbsp;<a href=\"https:\/\/www.identityblog.com\/helloworld\/request-card.php\" class=\"broken_link\">try it out<\/a>, enter a login name and download a card (if you don&#39;t enter a name, you won&#39;t get an error message right now but the demonstration won&#39;t work later).&nbsp; Once you have your card, click on the InfoCard icon <a href=\"https:\/\/www.identityblog.com\/helloworld\/infocard-demo.php\" class=\"broken_link\">here<\/a>.&nbsp; You&#39;ll see how the HelloWorld token is transferred to the relying party web site.&nbsp;<\/p>\n<p>This card uses passwords for authentication to the HelloWorld identity provider, and any password will do.&nbsp;<\/p>\n<p><a href=\"\/?p=687\"><em>Continue here&#8230;<\/em><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The sudden rise of OpenID shows exactly why we need a token-agnostic system.  OpenID has great use cases that we all want to enable.<\/p>\n","protected":false},"author":68,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,10,8,15,3,22],"tags":[],"_links":{"self":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts\/684"}],"collection":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/users\/68"}],"replies":[{"embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=684"}],"version-history":[{"count":0,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts\/684\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=684"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=684"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=684"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}