Index: lams_openid/.classpath =================================================================== diff -u --- lams_openid/.classpath (revision 0) +++ lams_openid/.classpath (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + Index: lams_openid/.cvsignore =================================================================== diff -u --- lams_openid/.cvsignore (revision 0) +++ lams_openid/.cvsignore (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,5 @@ +build +.myeclipse +.mymetadata +bin +.settings Index: lams_openid/.project =================================================================== diff -u --- lams_openid/.project (revision 0) +++ lams_openid/.project (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,17 @@ + + + lams_openid + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + Index: lams_openid/build.properties =================================================================== diff -u --- lams_openid/build.properties (revision 0) +++ lams_openid/build.properties (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,48 @@ + +package=org/lamsfoundation/lams/openid +package.name=org.lamsfoundation.lams.openid +weblib=lib + +name=lams-openid +product=lams-openid + +# Directory where third party jars reside. +sharedlib=../lams_build/lib + + +#deploy tool directory +tag.web.dir=../lams_central/web/WEB-INF + + +#configuration files +conf.dir=${basedir}/conf + +#web +conf.web.dir=${basedir}/web +conf.webinf.dir=${conf.web.dir}/WEB-INF +conf.struts.dir=${conf.webinf.dir}/struts + + +# Build directory +build=${basedir}/build +build.classes.java=${build}/classes/java +build.classes.test=${build}/classes/test/java +build.lib=${build}/lib +build.web=${build}/web + + +# Source directory under the current root +src.dir=${basedir}/src +src.java.dir=${src.dir}/java +src.test.dir=${basedir}/test/java + +#JBoss deploy directory (Unix) +jboss.home=/home/lfoxton/workspace/jboss-4.0.2/ +jboss.server=${jboss.home}server/ +jboss.server.instance=${jboss.server}default +jboss.server.instance.lib=${jboss.server.instance}/lib +jboss.ear.deploy=${jboss.server.instance}/deploy/ +jboss.deploy=${jboss.ear.deploy}/lams.ear + + +j2eelibs=${jboss.server.instance}/lib \ No newline at end of file Index: lams_openid/build.xml =================================================================== diff -u --- lams_openid/build.xml (revision 0) +++ lams_openid/build.xml (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,165 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_openid/conf/jar/META-INF/MANIFEST.MF =================================================================== diff -u --- lams_openid/conf/jar/META-INF/MANIFEST.MF (revision 0) +++ lams_openid/conf/jar/META-INF/MANIFEST.MF (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,3 @@ +Implementation-Title: LAMS - OpenID webapp +Implementation-Version: 2.1 +Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) Index: lams_openid/conf/war/META-INF/MANIFEST.MF =================================================================== diff -u --- lams_openid/conf/war/META-INF/MANIFEST.MF (revision 0) +++ lams_openid/conf/war/META-INF/MANIFEST.MF (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,4 @@ +Implementation-Title: LAMS - Openid Tool +Implementation-Version: 2.1 +Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) +Class-Path: ./lams.jar ./lams-tool-laopid11.jar ./lams-contentrepository.jar ./lams-learning.jar Index: lams_openid/lib/joid.jar =================================================================== diff -u Binary files differ Index: lams_openid/lib/tsik.jar =================================================================== diff -u Binary files differ Index: lams_openid/readme.txt =================================================================== diff -u --- lams_openid/readme.txt (revision 0) +++ lams_openid/readme.txt (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,67 @@ +lams_openid +=========== + +Author: luke foxton, lfoxton@melcoe.mq.edu.au + +This web application is made specifically for allowing self-registration and +OpenID login using the java-OpenID library "joid".There are some steps involved +in setting it up, but it should be fairly easy to do if they are followed +carefully. + + +Step 1 +====== + +Open the web/config.jsp file to configure this module. You will need to set a +few configurations here like the server_id and server_key you will use. make +sure the server url you use ends with "/lams/". Most of the other configs are +fairly self explanatory, but take special care to list all the open id providers +that you want to trust. + +Step 2 +====== + +Login to LAMS as sysadmin, and go to the integrated servers page. Create a new +integration instance - we will use this for SSO from OpenID. Use the same server +id and server key as was used in config.jsp + +Step 3 +====== + +Run the build-war ant task to get the lams-openid.war. It should end up in the +build/lib directory + +Step 4 +====== + +Stop the LAMS server and copy lams-openid.war to lams.ear. + +Step 5 +====== + +Add this xml into the lams.ear/META-INF/application.xml file so JBOSS can +recognise the web application: + + + + lams-openid.war< + context-root>/lams/openid + + + +Step 6 +====== + +Edit the lams-central.war/login.jsp to link to the OpenID login page which will +be: + +http:///lams/openid + +Users using OpenID login will need to always go to this page in order to log in. + +Step 7 +====== + +Restart LAMS and you should be ready to go. + + Index: lams_openid/src/java/org/lamsfoundation/lams/openid/web/LamsOpenIdServlet.java =================================================================== diff -u --- lams_openid/src/java/org/lamsfoundation/lams/openid/web/LamsOpenIdServlet.java (revision 0) +++ lams_openid/src/java/org/lamsfoundation/lams/openid/web/LamsOpenIdServlet.java (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,165 @@ +/**************************************************************** + * Copyright (C) 2008 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ +package org.lamsfoundation.lams.openid.web; + +import java.io.IOException; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.apache.log4j.Logger; +import org.lamsfoundation.lams.integration.ExtServerOrgMap; +import org.lamsfoundation.lams.integration.ExtUserUseridMap; +import org.lamsfoundation.lams.integration.service.IIntegrationService; +import org.lamsfoundation.lams.integration.service.IntegrationService; +import org.lamsfoundation.lams.integration.util.LoginRequestDispatcher; +import org.lamsfoundation.lams.util.CentralConstants; +import org.lamsfoundation.lams.util.Configuration; +import org.lamsfoundation.lams.util.ConfigurationKeys; +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.verisign.joid.consumer.OpenIdFilter; + +/** + * A special servlet for the openid management. This servlet manages requests + * from openID servlets to login. If the user exists in lams, then it will log + * them in, otherwise they will be sent to the register page with any + * user information released by open id populating the page. + * + * @author lfoxton + * + */ +public class LamsOpenIdServlet extends HttpServlet { + + private static final long serialVersionUID = -3815302208768159008L; + + private static Logger log = Logger.getLogger(LamsOpenIdServlet.class); + + private static IntegrationService integrationService = null; + + private static final String LOGIN_REQUEST_SERVLET_URL = Configuration.get(ConfigurationKeys.SERVER_URL) + "/LoginRequest?"; + private static final String REGISTER_URL = Configuration.get(ConfigurationKeys.SERVER_URL) + "/openid/register_openid.jsp?"; + + /** + * The doGet method of the servlet.
+ * + * @param request + * the request send by the client to the server + * @param response + * the response send by the server to the client + * @throws ServletException + * if an error occurred + * @throws IOException + * if an error occurred + */ + public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + HttpSession session = request.getSession(true); + + String loggedInAs = OpenIdFilter.getCurrentUser(session); + + // First check that openid login was successful + if (loggedInAs == null) + { + log.error("Did not get a user from open id"); + throw new ServletException("Did not get a user from open id"); + } + + //String extUsername = request.getParameter(LoginRequestDispatcher.PARAM_USER_ID); + String serverId = request.getParameter(LoginRequestDispatcher.PARAM_SERVER_ID); + String extCourseId = request.getParameter(LoginRequestDispatcher.PARAM_COURSE_ID); + String timestamp = request.getParameter(LoginRequestDispatcher.PARAM_TIMESTAMP); + String hash = request.getParameter(LoginRequestDispatcher.PARAM_HASH); + String method = request.getParameter(LoginRequestDispatcher.PARAM_METHOD); + String countryIsoCode = request.getParameter(LoginRequestDispatcher.PARAM_COUNTRY); + String langIsoCode = request.getParameter(LoginRequestDispatcher.PARAM_LANGUAGE); + String courseName = request.getParameter(CentralConstants.PARAM_COURSE_NAME); + + try { + ExtServerOrgMap serverMap = getIntegrationService().getExtServerOrgMap(serverId); + + ExtUserUseridMap userMap = getIntegrationService().getExistingExtUserUseridMap(serverMap, loggedInAs); + + if (userMap == null) + { + String registerURL = REGISTER_URL; + registerURL += "&openid_url=" + loggedInAs; + response.sendRedirect(registerURL); + } + else + { + // User exists, do login + String loginRequestURL = LOGIN_REQUEST_SERVLET_URL; + loginRequestURL += "&uid=" + loggedInAs; + loginRequestURL += "&method=" + method; + loginRequestURL += "&ts=" + timestamp; + loginRequestURL += "&sid=" + serverId; + loginRequestURL += "&hash=" + hash; + loginRequestURL += "&courseid=" + extCourseId; + loginRequestURL += "&country=" + countryIsoCode; + loginRequestURL += "&lang=" + langIsoCode; + loginRequestURL += "&courseName=" + courseName; + loginRequestURL += "&requestSrc=¬ifyCloseURL=&lsid="; + response.sendRedirect(loginRequestURL); + } + + } catch (Exception e) { + log.error("Open ID login error: ", e); + response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage()); + } + } + + /** + * TODO: Use spring injection instead of hacking a context + * + * @return + */ + public IIntegrationService getIntegrationService() throws Exception{ + + if (integrationService == null) { + String contexts[] = { "/org/lamsfoundation/lams/applicationContext.xml", + "/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml", + "/org/lamsfoundation/lams/toolApplicationContext.xml", + "/org/lamsfoundation/lams/integrationContext.xml", + "/org/lamsfoundation/lams/learning/learningApplicationContext.xml", + "/org/lamsfoundation/lams/contentrepository/applicationContext.xml", + "/org/lamsfoundation/lams/commonContext.xml" }; + + ApplicationContext context = new ClassPathXmlApplicationContext(contexts); + + if (context == null) + throw new Exception("Unable to access application context. Cannot create integration service object."); + + IIntegrationService service = (IIntegrationService) context.getBean("integrationService"); + return service; + } else { + return integrationService; + } + } +} + + Index: lams_openid/web/403.jsp =================================================================== diff -u --- lams_openid/web/403.jsp (revision 0) +++ lams_openid/web/403.jsp (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,25 @@ +<%-- +Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) +License Information: http://lamsfoundation.org/licensing/lams/2.0/ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + http://www.gnu.org/licenses/gpl.txt +--%> +<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-core" prefix="c" %> + + + Index: lams_openid/web/404.jsp =================================================================== diff -u --- lams_openid/web/404.jsp (revision 0) +++ lams_openid/web/404.jsp (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,27 @@ +<%-- +Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) +License Information: http://lamsfoundation.org/licensing/lams/2.0/ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + http://www.gnu.org/licenses/gpl.txt +--%> +<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-core" prefix="c" %> + + + + + Index: lams_openid/web/WEB-INF/web.xml =================================================================== diff -u --- lams_openid/web/WEB-INF/web.xml (revision 0) +++ lams_openid/web/WEB-INF/web.xml (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,150 @@ + + + + + + OpenIdFilter + + This filter (for Consumer side) automatically parses OpenID + responses and sets the user's identity in the session. + + + org.verisign.joid.consumer.OpenIdFilter + + + saveInCookie + true + + Optional. Will store the identity url in a cookie under + "openid.identity" if set to true. + + + + + ignorePaths + /login,/server,/echo + + Optional. Will not apply filter to the paths set here. + Comma delimited. + + + + + UserUrlFilter + + This filter (for Server side) takes url's of the form: + http://hostname/user/username to provide an id page for each + user. + + examples.server.UserUrlFilter + + idJsp + /me.jsp + + Required. The jsp page used as the identity page. + + + + + + OpenIdFilter + /* + + + UserUrlFilter + /user/* + + + + joid + examples.server.OpenIdServlet + + + + echo + examples.server.EchoServlet + + + + loginServlet + + org.verisign.joid.server.OpenIdServlet + + + endPointUrl + http://localhost:8080/joid/login + Change this to your endpoint url. + + + loginPage + login.jsp + + Change this to your login page where the user enters + their username and password and/or approves the + authentication for the site. + + + + storeClassName + + org.verisign.joid.server.MemoryStore + + + Specify the className for your Store implementation. + + + + userManagerClassName + + org.verisign.joid.server.MemoryUserManager + + + Specify the className for your UserManager + implementation. + + + + + + joid + /server + + + + echo + /echo + + + + loginServlet + /login + + + + LoginUsingOpenId + LoginUsingOpenId Servlet For OpenID + + org.lamsfoundation.lams.openid.web.LamsOpenIdServlet + + + + + LoginUsingOpenId + /LoginUsingOpenId + + + + contextConfigLocation + + classpath:/org/lamsfoundation/lams/integrationContext.xml + + + + + Index: lams_openid/web/config.jsp =================================================================== diff -u --- lams_openid/web/config.jsp (revision 0) +++ lams_openid/web/config.jsp (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,20 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<% + final String LAMS_SERVER_NAME = "LAMS 2 Demo Server"; + final String LAMS_SERVER_URL = "http://172.20.100.188:8080/lams"; + final String LAMS_SERVER_ID ="demolamsserver"; + final String LAMS_SERVER_KEY = "ixybitzy"; + final boolean ADD_TO_GROUP = true; + final String GROUP_ID = "Playpen"; + final String GROUP_NAME = "Playpen"; + final String GROUP_COUNTRY_ISO_CODE = "AU"; + final String GROUP_LANG_ISO_CODE = "en"; + final String[] TRUSTED_OPENID_PROVIDERS = { + "myopenid.com", + "pip.verisignlabs.com", + "myvidoop.com", + "yahoo.com", + "google.com" + }; +%> \ No newline at end of file Index: lams_openid/web/error.jsp =================================================================== diff -u --- lams_openid/web/error.jsp (revision 0) +++ lams_openid/web/error.jsp (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,91 @@ +<%-- +Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) +License Information: http://lamsfoundation.org/licensing/lams/2.0/ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + http://www.gnu.org/licenses/gpl.txt +--%> + + + +<%@ page language="java" isErrorPage="true" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-fmt" prefix="fmt"%> + + + + + + +<%-- Catch JSP Servlet Exception --%> +<% +if (exception != null) { +%> + + <%=exception.getMessage()%> + + + <%=exception.getClass().getName()%> + +<% + java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream(); + java.io.PrintStream os = new java.io.PrintStream(bos); + exception.printStackTrace(os); + String stack = new String(bos.toByteArray()); +%> + + <%=stack%> + +<% +} else if ((Exception) request.getAttribute("javax.servlet.error.exception") != null) { +%> + + + <%=((Exception) request.getAttribute("javax.servlet.error.exception")).getMessage()%> + + + <%=((Exception) request.getAttribute("javax.servlet.error.exception")).getMessage() + .getClass().getName()%> + +<% + java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream(); + java.io.PrintStream os = new java.io.PrintStream(bos); + ((Exception) request.getAttribute("javax.servlet.error.exception")).printStackTrace(os); + String stack = new String(bos.toByteArray()); +%> + + <%=stack%> + +<% +} +%> + +
+ + + +
+ + + +
Index: lams_openid/web/index.jsp =================================================================== diff -u --- lams_openid/web/index.jsp (revision 0) +++ lams_openid/web/index.jsp (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,151 @@ + +<%@ include file="config.jsp" %> +<%@ page import="org.verisign.joid.consumer.OpenIdFilter" %> +<%@ page import="org.verisign.joid.util.UrlUtils" %> +<%@ page import="org.lamsfoundation.lams.util.HashUtil" %> +<%@ page import="java.util.Date" %> +<%@ page import="java.net.URLEncoder" %> +<% + boolean blacklisted = true; + boolean error = false; + String errorMessage = ""; + String ret = request.getParameter("return"); + String userID = request.getParameter("openid_url"); + String loggedInAs = OpenIdFilter.getCurrentUser(session); + String timestamp = "" + new Date().getTime(); + String method = "none"; + String plaintext = timestamp + loggedInAs + method + LAMS_SERVER_ID + LAMS_SERVER_KEY; + String hash = HashUtil.sha1(plaintext); + String courseID = (ADD_TO_GROUP) ? GROUP_ID : ""; + String courseName = (ADD_TO_GROUP) ? GROUP_NAME : ""; + + String returnTo = UrlUtils.getBaseUrl(request) + "?return=yes"; + try { + if (request.getParameter("signin") != null) { + + if (!userID.startsWith("http:")) { + userID = "http://" + userID; + } + + String provider = userID.substring(userID.indexOf(".") +1, userID.length()); + for(int i=0; i + + + + OpenID Login - LAMS :: Learning Activity Management System + + + + + + + + + +
+
+
+
+

 

+ +
+
+ +
+
+

LAMS - Learning Activity Management System

+
+

Login Using OpenID

+ + <% + if(request.getParameter("signin") != null && blacklisted == true && error == false){ + %> + +

+ Sorry, that OpenID provider is not part of the trusted list. Please try one of the following:
+ <% + for(int i=0; i"); + } + %> +

+ <% + } else if (error == true) { + %> +

+ <%=errorMessage %> +

+ + <% + } + %> +

+
+ Login here using your personal OpenID URL. For example: someone.yahoo.com +
+
+ If you have not done this before, you will be taken to a registration page after you have been authenticated through your OpenID provider. +
+
+ Don't have an OpenID? Go + get + one. +

+ + <% + if(loggedInAs != null && ret != null && ret.equals("yes")) + { + // We have authentication, construct login request + String loginRequestURL = LAMS_SERVER_URL + "/openid/LoginUsingOpenId?"; + //loginRequestURL += "&uid=" + URLEncoder.encode(loggedInAs, "UTF8"); + loginRequestURL += "&method=none"; + loginRequestURL += "&ts=" + timestamp; + loginRequestURL += "&sid=" + LAMS_SERVER_ID; + loginRequestURL += "&hash=" + hash; + loginRequestURL += "&courseid=" + URLEncoder.encode(courseID, "UTF8"); + loginRequestURL += "&courseName=" + URLEncoder.encode(courseName, "UTF8"); + loginRequestURL += "&country=" + GROUP_COUNTRY_ISO_CODE; + loginRequestURL += "&lang=" + GROUP_LANG_ISO_CODE; + loginRequestURL += "&requestSrc=¬ifyCloseURL=&lsid="; + response.sendRedirect(loginRequestURL); + } + %> + +
+
+ + Login with your OpenID URL: +
+
+
+
+ +
+
+ + + + Index: lams_openid/web/register_openid.jsp =================================================================== diff -u --- lams_openid/web/register_openid.jsp (revision 0) +++ lams_openid/web/register_openid.jsp (revision 29546ca4b5a3f8426cd68af3e9022cf57f36037e) @@ -0,0 +1,144 @@ + +<%@ include file="config.jsp" %> +<%@ page import="org.apache.axis.client.Call" %> +<%@ page import="org.apache.axis.client.Service" %> +<%@ page import="java.util.ArrayList" %> +<%@ page import="java.util.Date" %> +<%@ page import="org.lamsfoundation.lams.util.HashUtil" %> +<%@ page import="org.lamsfoundation.lams.util.Emailer" %> +<%@ page import="org.lamsfoundation.lams.util.Configuration" %> +<%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> + + + +<% + String userID = request.getParameter("openid_url"); + String timestamp = "" + new Date().getTime(); + String method = "register"; + String plaintext = timestamp + userID + method + LAMS_SERVER_ID + LAMS_SERVER_KEY; + String hash = HashUtil.sha1(plaintext); + String courseID = (ADD_TO_GROUP) ? GROUP_ID : ""; + String loginRequestURL = LAMS_SERVER_URL + "/LoginRequest"; +%> + + + + Register - LAMS :: Learning Activity Management System + + + + + + + + + + + + +
+

 

+ +
+
+ +
+
+

LAMS - Learning Activity Management System

+
+ +

Sign up to <%=LAMS_SERVER_NAME %> using OpenID user

+
+ +

+ Just by completing this form, you can register and test LAMS as Teacher, Monitor and Learner.   + You'll be assigned to a Course where you can create sequences, assign them to your students, monitor their progress + and participate in them as well.  New to LAMS? No worries, have a look at + these animations. +

+

+ If you already have an account, please proceed to the login page. +

+ +
+ + + + + + + /> + + + + + + + + + + + + + + + + + + + + + + + + + +
OpenID URL:
First name *:
Last name *:
Email *:
+
+ +
+
+
+
+ + + +
+ + \ No newline at end of file