[OpenID] XRD/YADIS validator roughed in

Sam Ruby rubys at intertwingly.net
Thu Jan 4 18:42:31 UTC 2007


I've roughed in and deployed (but not advertised) a skeletal XRD 
validator, based on taking an example from the specification as a test case:

http://feedvalidator.org/testcases/ext/xrd/

Validating this produces one warning concerning the Media Type:

http://feedvalidator.org/check.cgi?url=http%3A//feedvalidator.org/testcases/ext/xrd/spec_noerr.xml

My own XRDS file is served with the correct Media Type, so produces no 
warning:

http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fintertwingly.net%2Fpublic%2Fyadis.xrdf

  = = =

Before anybody gets too excited, here is the bulk of the code needed to 
rough this in:

http://www.feedvalidator.org/src/feedvalidator/xrd.py

Not much there, eh?  Still, that's enough to flag anything that is not 
supposed to be there, any URI values that aren't IRIs (my switching the 
validating rule, I can quickly downgrade this to URIs, if desired), 
priorities which aren't non-negative integers, etc.

At this point, anything that is possible in Python is possible.

The front end should utilize the JanRain Python library to aid in the 
discovery of the YADIS document, as Dick suggested.

The back end should add a lot more domain specific knowledge -- 
something I don't have, but I'm hoping I can find on this mailing list.
For example, want a warning when http://openid.net/signon/1.0 is found 
encouraging people to upgrade to http://openid.net/signon/2.0?  No 
problem.  All warnings and errors link to a page which contains more 
information on the condition found, which in turn can link to reference 
documenation or further discussion.

Finally, some sort of canonical "valid XRDS!" or "valid YADIS!" icon is 
required.

- Sam Ruby



More information about the general mailing list