<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: idproxy</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/idproxy.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2008-05-28T08:09:23+00:00</updated><author><name>Simon Willison</name></author><entry><title>OpenID phishing demo</title><link href="https://simonwillison.net/2008/May/28/openidtheft/#atom-tag" rel="alternate"/><published>2008-05-28T08:09:23+00:00</published><updated>2008-05-28T08:09:23+00:00</updated><id>https://simonwillison.net/2008/May/28/openidtheft/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://idtheft.fun.de/"&gt;OpenID phishing demo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A demonstration of the OpenID man-in-the-middle phishing attack. idproxy.net OpenIDs are immune to this particular variant due to the landing page not asking for your password (the phishing site could still provide their own redesigned landing page and hope users don’t notice though).

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://self-issued.info/?p=73"&gt;Mike Jones&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/idproxy"&gt;idproxy&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openid"&gt;openid&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="idproxy"/><category term="openid"/><category term="phishing"/><category term="security"/></entry><entry><title>OpenID for Google Accounts</title><link href="https://simonwillison.net/2008/Apr/9/openid/#atom-tag" rel="alternate"/><published>2008-04-09T01:09:40+00:00</published><updated>2008-04-09T01:09:40+00:00</updated><id>https://simonwillison.net/2008/Apr/9/openid/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://openid-provider.appspot.com/"&gt;OpenID for Google Accounts&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Google App Engine integrates with Google’s user accounts, so Ryan Barrett (of Google) used it to build an idproxy.net style OpenID provider.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google-app-engine"&gt;google-app-engine&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/idproxy"&gt;idproxy&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openid"&gt;openid&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ryan-barrett"&gt;ryan-barrett&lt;/a&gt;&lt;/p&gt;



</summary><category term="google"/><category term="google-app-engine"/><category term="idproxy"/><category term="openid"/><category term="ryan-barrett"/></entry><entry><title>Windows Live ID Web Authentication Released!</title><link href="https://simonwillison.net/2007/Aug/17/angus/#atom-tag" rel="alternate"/><published>2007-08-17T10:20:59+00:00</published><updated>2007-08-17T10:20:59+00:00</updated><id>https://simonwillison.net/2007/Aug/17/angus/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/angus_logan/archive/2007/08/16/service-release-announcment-windows-live-id-web-authentication-released.aspx"&gt;Windows Live ID Web Authentication Released!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Passport lives again! Who’s going to be first to build an idproxy.net for it?


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/idproxy"&gt;idproxy&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openid"&gt;openid&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passport"&gt;passport&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/windows"&gt;windows&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/windowsliveid"&gt;windowsliveid&lt;/a&gt;&lt;/p&gt;



</summary><category term="idproxy"/><category term="microsoft"/><category term="openid"/><category term="passport"/><category term="windows"/><category term="windowsliveid"/></entry><entry><title>Partial OpenID provider implementation from idproxy.net</title><link href="https://simonwillison.net/2007/Jul/12/django/#atom-tag" rel="alternate"/><published>2007-07-12T18:48:55+00:00</published><updated>2007-07-12T18:48:55+00:00</updated><id>https://simonwillison.net/2007/Jul/12/django/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.djangosnippets.org/snippets/310/"&gt;Partial OpenID provider implementation from idproxy.net&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
It’ll take a while to package up provider support for django-openid, but in the meantime here’s some partial, incomplete, poorly documented example code ripped from idproxy.net. Hopefully this will give people trying to figure out the JanRain Python library a bit of a leg up.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/europython"&gt;europython&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/europython07"&gt;europython07&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/idproxy"&gt;idproxy&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openid"&gt;openid&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/partial"&gt;partial&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;&lt;/p&gt;



</summary><category term="django"/><category term="europython"/><category term="europython07"/><category term="idproxy"/><category term="openid"/><category term="partial"/><category term="python"/></entry><entry><title>A note about simple registration</title><link href="https://simonwillison.net/2007/Jun/30/sreg/#atom-tag" rel="alternate"/><published>2007-06-30T21:28:30+00:00</published><updated>2007-06-30T21:28:30+00:00</updated><id>https://simonwillison.net/2007/Jun/30/sreg/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;a href="http://openid.net/specs/openid-simple-registration-extension-1_0.html"&gt;Simple registration&lt;/a&gt; is an extension that allows OpenID consumers to ask your provider for extra information - your name, e-mail address, date of birth and so on.&lt;/p&gt;

&lt;p&gt;Unfortunately, the spec often causes confusion for implementers. Here's the tricky part:&lt;/p&gt;

&lt;blockquote cite="http://openid.net/specs/openid-simple-registration-extension-1_0.html"&gt;
&lt;dl&gt;
&lt;dt&gt;openid.sreg.required:&lt;/dt&gt;
&lt;dd&gt;Comma-separated list of
	  field names which, if absent from the response, will
	  prevent the Consumer from completing the
	  registration without End User interaction.
&lt;/dd&gt;
&lt;dt&gt;openid.sreg.optional:&lt;/dt&gt;
&lt;dd&gt;Comma-separated list of
	  field names Fields that will be used by the Consumer, but
	  whose absence will not prevent the registration from
	  completing.
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is often interpreted as meaning that you can pass along a list of required fields and be guaranteed that they will be handed back to you. This is not the case: some providers (&lt;a href="http://idproxy.net/"&gt;idproxy.net&lt;/a&gt; for example) don't support simple registration at all; others (like &lt;a href="http://wordpres.com/"&gt;WordPress.com&lt;/a&gt;) only support a subset of the fields, since they don't store details such as the user's postcode. If your provider insists on certain values being returned by simple registration, some of your potential users will be unable to sign in.&lt;/p&gt;

&lt;p&gt;The misunderstanding stems from the definition attached to the required field. When you make a simple registration request, you're providing &lt;em&gt;advice&lt;/em&gt; to the provider. You're essentially saying that the user is going to have to provide this data eventually in order to register with your service, so it would be really handy if the provider could send it over to you. If they don't, your application will have no choice but to ask the user for it directly.&lt;/p&gt;

&lt;p&gt;In other words, even if you specify required values you shouldn't expect them to come back every time.&lt;/p&gt;

&lt;p&gt;By far the best way to use simple registration is as a way of pre-filling a signup form for your user. Many applications ask the user to complete a short registration form the first time they sign in with their OpenID. Use simple registration to pre-fill some of those form values - that way, if it's not available (or some of the values are missing) your application logic doesn't really care, it's just one more form field that the user will have to complete themselves. &lt;a href="http://ma.gnolia.com/"&gt;Ma.gnolia.com&lt;/a&gt; is a great example of a site that does the right thing.&lt;/p&gt;

&lt;p&gt;See also &lt;a href="http://openid.net/pipermail/general/2007-March/thread.html#1874"&gt;this thread on the mailing list&lt;/a&gt; from back in March.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/idproxy"&gt;idproxy&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/magnolia"&gt;magnolia&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openid"&gt;openid&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sreg"&gt;sreg&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wordpress"&gt;wordpress&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="idproxy"/><category term="magnolia"/><category term="openid"/><category term="sreg"/><category term="wordpress"/></entry><entry><title>OpenID as easy as 1,2,3</title><link href="https://simonwillison.net/2007/Jan/30/renaissance/#atom-tag" rel="alternate"/><published>2007-01-30T00:27:03+00:00</published><updated>2007-01-30T00:27:03+00:00</updated><id>https://simonwillison.net/2007/Jan/30/renaissance/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://renaissancechambara.com/blog/2007/01/30/open-id-as-easy-as-123/"&gt;OpenID as easy as 1,2,3&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
An idproxy.net walkthrough, with screenshots.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/howto"&gt;howto&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/idproxy"&gt;idproxy&lt;/a&gt;&lt;/p&gt;



</summary><category term="howto"/><category term="idproxy"/></entry><entry><title>idproxy.net: Use your Yahoo! account as an OpenID</title><link href="https://simonwillison.net/2007/Jan/27/idproxy/#atom-tag" rel="alternate"/><published>2007-01-27T20:17:54+00:00</published><updated>2007-01-27T20:17:54+00:00</updated><id>https://simonwillison.net/2007/Jan/27/idproxy/#atom-tag</id><summary type="html">
    &lt;p&gt;In an ideal world, some or all of the sites with large user databases (Yahoo!, AOL, Google, Amazon and so on) would act as OpenID providers, allowing their users to sign in to OpenID supporting sites around the Web. Until that happens, people who want to use OpenID need to sign up for Yet Another Account to do so.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://idproxy.net/"&gt;idproxy.net&lt;/a&gt;, launched today, is my attempt at speeding up the process. It uses Yahoo!'s &lt;a href="http://developer.yahoo.com/auth/"&gt;Browser-Based Authentication API&lt;/a&gt; to allow you to sign in with a Yahoo! account, then lets you create one or more OpenIDs (of the form &lt;samp&gt;something.idproxy.net&lt;/samp&gt;) to use with sites that support the OpenID standard.&lt;/p&gt;

&lt;p&gt;In effect, it lets you use your Yahoo! account as an OpenID.&lt;/p&gt;

&lt;h3&gt;Phishing protection&lt;/h3&gt;

&lt;p&gt;I've built in a couple of features to help protect users against phishing attempts.&lt;/p&gt;

&lt;p&gt;The first is based on Andreas Gohr's &lt;a href="http://www.splitbrain.org/projects/monsterid"&gt;MonsterID&lt;/a&gt;. When you log in for the first time, you are asked to pick one from a selection of four random monsters. Your monster will greet you when you log in to the site, helping defend against malicious sites that try to copy the "logged in" view.&lt;/p&gt;

&lt;p&gt;The second is a landing page based on my suggestion from last week, which requires you to log in manually or with a bookmark rather than presenting you with a login link directly. This is similar to MyOpenID's &lt;a href="http://blog.janrain.com/2007/01/24/myopenidcom-release-hullabaloo/"&gt;SafeSignIn feature&lt;/a&gt;, but it's on by default and you can't turn it off.&lt;/p&gt;

&lt;p&gt;The nature of the site means that a successful phishing attack would have to compromise your Yahoo! account as well. Yahoo! have their own phishing prevention in the form of the &lt;a href="https://protect.login.yahoo.com/"&gt;Yahoo! personalized sign-in seal&lt;/a&gt; (similar to the idproxy.net monster, but visible &lt;em&gt;before&lt;/em&gt; you log in).&lt;/p&gt;

&lt;h3&gt;Other providers&lt;/h3&gt;

&lt;p&gt;An older (unreleased) version of the site included support for Flickr, Upcoming and Google authentication. I've dropped those in favour of Yahoo! for a couple of reasons. Firstly, supporting just one form of authentication makes the site easier to explain. Secondly, none of those APIs were designed with single-sign-on in mind. All three exist primarily to give a third party service access to your data; as such, their authentication flows include permission pages which warn that idproxy.net will have access to your private photos, events or calendar.&lt;/p&gt;

&lt;p&gt;I'm very open to suggestions and feature requests. The top of my list at the moment is an interface for viewing and changing the list of sites which always have access to your identity.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/idproxy"&gt;idproxy&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/monsterid"&gt;monsterid&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openid"&gt;openid&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/projects"&gt;projects&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/yahoo"&gt;yahoo&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="idproxy"/><category term="monsterid"/><category term="openid"/><category term="phishing"/><category term="projects"/><category term="yahoo"/></entry></feed>