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#HCustomA…
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