Index: lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java =================================================================== diff -u -ra985e29fc921fabc19dfe1199a99e21a696c5ba4 -r7df862bfcb167264522788713a14201c8fe44362 --- lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java (.../LoginRequestServlet.java) (revision a985e29fc921fabc19dfe1199a99e21a696c5ba4) +++ lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java (.../LoginRequestServlet.java) (revision 7df862bfcb167264522788713a14201c8fe44362) @@ -135,20 +135,20 @@ } ExtServerOrgMap serverMap = getService().getExtServerOrgMap(serverId); - + boolean prefix = Boolean.parseBoolean(usePrefix); try { ExtUserUseridMap userMap = null; - if ((firstName == null) && (lastName == null)) { - userMap = getService().getExtUserUseridMap(serverMap, extUsername); + userMap = getService().getExtUserUseridMap(serverMap, extUsername, prefix); } else { userMap = getService().getImplicitExtUserUseridMap(serverMap, extUsername, firstName, lastName, langIsoCode, countryIsoCode, email); } + Authenticator.authenticate(serverMap, timestamp, extUsername, method, hash); ExtCourseClassMap orgMap = getService().getExtCourseClassMap(serverMap, userMap, extCourseId, - countryIsoCode, langIsoCode, courseName, method, Boolean.parseBoolean(usePrefix)); + countryIsoCode, langIsoCode, courseName, method, prefix); User user = userMap.getUser(); String login = user.getLogin(); // was using hses.inNew() API to check if the external user has logged in yet, Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java =================================================================== diff -u -ra985e29fc921fabc19dfe1199a99e21a696c5ba4 -r7df862bfcb167264522788713a14201c8fe44362 --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java (.../IIntegrationService.java) (revision a985e29fc921fabc19dfe1199a99e21a696c5ba4) +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java (.../IIntegrationService.java) (revision 7df862bfcb167264522788713a14201c8fe44362) @@ -53,6 +53,8 @@ String extCourseId, String extCourseName, String countryIsoCode, String langIsoCode, String parentOrgId, Boolean isTeacher, Boolean prefix); + ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername, boolean prefix) throws UserInfoFetchException; + ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) throws UserInfoFetchException; ExtUserUseridMap getExistingExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) throws UserInfoFetchException; Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java =================================================================== diff -u -ra985e29fc921fabc19dfe1199a99e21a696c5ba4 -r7df862bfcb167264522788713a14201c8fe44362 --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java (.../IntegrationService.java) (revision a985e29fc921fabc19dfe1199a99e21a696c5ba4) +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java (.../IntegrationService.java) (revision 7df862bfcb167264522788713a14201c8fe44362) @@ -172,19 +172,24 @@ service.save(user); } - public ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) + public ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername, boolean prefix) throws UserInfoFetchException { Map properties = new HashMap(); properties.put("extServerOrgMap.sid", serverMap.getSid()); properties.put("extUsername", extUsername); List list = service.findByProperties(ExtUserUseridMap.class, properties); if (list == null || list.size() == 0) { - return createExtUserUseridMap(serverMap, extUsername); + return createExtUserUseridMap(serverMap, extUsername, prefix); } else { return (ExtUserUseridMap) list.get(0); } } + public ExtUserUseridMap getExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) + throws UserInfoFetchException { + return getExtUserUseridMap(serverMap, extUsername, true); + } + public ExtUserUseridMap getExistingExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) throws UserInfoFetchException { Map properties = new HashMap(); @@ -307,11 +312,11 @@ } // compatibility method to support integrations - private ExtUserUseridMap createExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) + private ExtUserUseridMap createExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername, boolean prefix) throws UserInfoFetchException { String[] userData = getUserDataFromExtServer(serverMap, extUsername); String password = HashUtil.sha1(RandomPasswordGenerator.nextPassword(10)); - return createExtUserUseridMap(serverMap, extUsername, password, userData, true); + return createExtUserUseridMap(serverMap, extUsername, password, userData, prefix); } // compatibility method