Jan,
Which way are you going? Is the user in XWiki and wants to access LAMS, or do you want to access XWiki from within LAMS.
Given that you want to know where the LAMS authentication is done, I'll assume the user is in XWiki and wants to access LAMS.
At present to get into LAMS there are two ways of authenticating:
(1) Standard login screen, authenticating either to the local LAMS database or a LDAP server. There is also a WebAuth authenticator but I don't know if it is tested.
The bulk of the code for that is in the lams_central project, either in the jsps in the web directory, or the package org.lamsfoundation.lams.security. There are also configuration files scattered around the place (e.g. in lams_build).
In this case, any external authentication (e.g. LDAP) is purely authentication - the user should already exist in LAMS. Populating the user details from an external server is not currently supported.
(2) Single sign on ala our LMS integrations (Moodle, etc). The authentication is triggered by a call from the LMS and the user's details are populated by the LMS. All calls from the LMS contain check values that are used identify the calling LMS.
I think this is what you want to go XWiki => LAMS.
The code for this is also in the lams_central project. The webservices part is in org.lamsfoundation.webservice and other parts are in the org.lamsfoundation.lams.web package - in particular the LoginRequestServlet.java
If this is what you are after, I suggest you read LAMS and 3rd Party App Integration Mechanism on the wiki. The first part of this page covers the LAMS 2.0 integrations. The very bottom bit refers to the old 1.0.2 integrations - we are replacing those bits as we get the integrations redone for LAMS 2.0.
The easiest way to do it would probably be to take an existing integration and modify it to suit the XWiki side. Hopefully you should be able to write some code that plugs into XWiki and not have to make any changes in LAMS 2.0.
The Moodle module is available from our cvs server, but we are almost finished the beta version of a Sakai module for LAMS 2.0. This is written in Java so that would be a better starting point than the Moodle module (given that XWiki is Java and Moodle is PHP). I think we have one more thing to get working in our Sakai module and then we will move the code to our public cvs server, so that should be sometime this week.
The Sakai work was done on the HEAD (in cvs), so you will need to check out the rest of the projects from the HEAD, rather than using the 2.0.2 source code archives on our downloads page.
Has this answered your question? Was I correct in my assumptions? Or is this all gobbledygook. If Option (2) is what you want, then have a read of that wiki page and we will post to the community when the Sakai module is available for download and you can start playing with that code.
I'll be keen to hear how you go with this. I have a few ideas about things you could try doing, but I won't mention them yet - there is enough in this posting to confuse you already!
Regards,
Fiona Malikoff
Posted by Fiona Malikoff