IdentityFlow now has a JXTA binding, which is being used by the digital ecosystem environment in OPAALS. As well as a binding, certain portions of the JXTA membership functionality have been extended/re-implemented as part of the JXTA module. In order to integrate with Flypeer, the core of the DE platform on which the Open Knowledge Space (OKS) is based, an authentication plugin framework has also been added, along with (so far) three authentication plugins: LDAP, Guigoh and XMPP. All of this code can be downloaded from CVS.
A demonstration of the JXTA authentication functionality is also available on this site. To run the demo, perform the following,
1. Download the IdentityFlowJxtaModule-jar-with-dependencies.jar from "Files". (Also currently available from the "Download Now!" button.) There are two nodes that will be run, the 'Subject' and the 'IdentityProvider'. These two nodes can be run on different machines or both on the same machine. If two machines are being used, then the jar will obviously have to be used on both machines.
2. Ensure that the following ports are opened (outgoing) on your firewall, 110 (Our JXTA rendezvous/relay) and 389 (the default LDAP server).
3. Open a command line and change the current working directory to the location of the downloaded jar. Create two directories: ./subject and ./identityprovider. If both nodes are to run on two different machines, then you need only create one directory, depending on which node will run on which machine. Then change the current working directory to ./subject (or ./identityprovider on the other machine if two machines are being used). Open another command line (or a command line on the other machine) and change the current working directory to <location_of_jar>/identityprovider.
4. First run the identity provider. In the command line with the current working directory ./identityprovider, enter the command,
java -jar ../IdentityFlowJxtaModule-jar-with-dependencies.jar
5. Once the PeerAdvertisement has been printed to the screen, run the Subject from the other command line, with the command,
java -cp ../IdentityFlowJxtaModule-jar-with-dependencies.jar org.tssg.opaals.jxta.test.authn.Subject
6. The Subject will connect to the IdentityProvider, via a hardcoded rendezvous/relay, will request an LDAP authentication with the supplied credentials, the IdentityProvider will complete the authentication and return to the Subject a digitally signed result which the Subject will then use to generate a JXTA Credential.
By editing the org.tssg.opaals.jxta.test.authn.Subject class, different authentication methods can be used. The options are LDAP, Guigoh and XMPP. Dummy credentials are used for each.
To test release 0.1 of IdentityFlow, which is the only stable version, please use the build script from the release download link/box. Use this version instead of the latest version in the release-0_1 as advised in the previous item. Otherwise follow the instructions in "Downloading and Testing IdentityFlow".
Once the war file is built, it can be deployed and run in tomcat (or probably any other application server), by clicking on the IdentityModelWebapp link from the admin screen. ... read more
IdentityFlow is pre-alpha software. But we do and will have minor releases from time to time. There will hopefully be some documentation with each release telling people how to test and run the code.
We will try to keep the install instructions relatively consistent though. They are as follows:
1. Browse the CVS using sourceforge, find the latest release tag (currently release-0-1) and navigate to "Actors using SSO Example". Download the latest revision of buildall.sh.
2. Make sure you have a sh shell environment (cygwin will do), and maven2 and cvs installed and in the command line path.
3. Run ./buildall.sh from the command line. This should retrieve the release from CVS, download dependencies and compile the code using maven.... read more
Please check http://identityflow.sourceforge.net/ to keep up to date with project news.
Updates to IdentityFlow have been slow lately because we are currently testing new code.
Once the new code has been submitted, we will do some refactoring, and then begin work on,
1. A JXTA binding implementation
2. Hooks for trust