On 2 Feb 2010, at 19:57, Story Henry wrote:
The details of how that works is explained here https://foafssl.org/srv/idp (and the source code is also available at https://sommer.dev.java.net/ )
With that service you can get someone's WebID in a few lines of code. See the login link at the top of http://foaf.me/ .
Setting up an xwiki server so that it asks the user for his Client certificate is a bit more advanced, as it requires a hack to the SSL layer on the server (so that authentication does not fail if it cannot find the Certificate Authority).
(By the way this should not be the only means of authentication. OpenId and username passwords are good fallback solutions)
Re authentication xwiki has an interface to implement to provide alternative implementations. See http://platform.xwiki.org/xwiki/bin/view/AdminGuide/Authentication
and more specifically: http://platform.xwiki.org/xwiki/bin/view/AdminGuide/Authentication#HCustomAu...
Some guy called Skol, who looks like a playmobile character, tells me that is off line... Will look at it tomorrow, ...
It is up again. It looks from the Oracle SSO example http://bodez.wordpress.com/2008/10/15/xwiki-user-authentication-with-oracle-... that one just needs to implement public XWikiUser checkAuth(XWikiContext context) throws XWikiException { For an initial implementation using an IDP this could be just a few lines of code. A fuller implementation would not be much larger as we have the BSD libraries for it, but it would mostly require more work setting up (because one needs to set up an ssl connection). Next one needs to create a user with this it seems: context.getWiki().createEmptyUser("beppe", "edit", context); One may in our situation not want to create a user for every authenticated person accessing the wiki, if creating a user means setting up a home page for them, giving them a special local nickname, etc... All you may want to know about them is their WebID (A URL) But perhaps that is something to leave for later development... To make this smoother, it may be worth adding a WebID field to the database, as a primary key for a person. I imaginer there are more methods for creating users though.... Henry