mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'master' of https://github.com/wso2/carbon-device-mgt
This commit is contained in:
commit
c17dda082d
@ -70,6 +70,9 @@
|
||||
org.bouncycastle.operator.jcajce,
|
||||
org.bouncycastle.asn1.x500.style,
|
||||
org.bouncycastle.pkcs,
|
||||
org.wso2.carbon.user.core.tenant,
|
||||
org.wso2.carbon.user.api,
|
||||
org.wso2.carbon.user.core.service,
|
||||
<!--org.bouncycastle.openssl,-->
|
||||
org.bouncycastle.util,
|
||||
org.jscep.message,
|
||||
@ -171,6 +174,11 @@
|
||||
<artifactId>swagger-annotations</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.user.core</artifactId>
|
||||
<version>4.4.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
@ -16,8 +16,7 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
|
||||
package org.wso2.carbon.device.mgt.core.scep;
|
||||
package org.wso2.carbon.certificate.mgt.core.scep;
|
||||
|
||||
public class SCEPException extends Exception {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
@ -15,13 +15,10 @@
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
|
||||
package org.wso2.carbon.device.mgt.core.scep;
|
||||
package org.wso2.carbon.certificate.mgt.core.scep;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
|
||||
public interface SCEPManager {
|
||||
|
||||
TenantedDeviceWrapper getValidatedDevice(DeviceIdentifier deviceIdentifier) throws SCEPException;
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
@ -15,9 +15,7 @@
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
|
||||
package org.wso2.carbon.device.mgt.core.scep;
|
||||
package org.wso2.carbon.certificate.mgt.core.scep;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
@ -35,7 +33,6 @@ import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class SCEPManagerImpl implements SCEPManager {
|
||||
|
||||
private DeviceDAO deviceDAO;
|
||||
private static final Log log = LogFactory.getLog(SCEPManagerImpl.class);
|
||||
|
||||
@ -45,7 +42,6 @@ public class SCEPManagerImpl implements SCEPManager {
|
||||
|
||||
@Override
|
||||
public TenantedDeviceWrapper getValidatedDevice(DeviceIdentifier deviceIdentifier) throws SCEPException {
|
||||
|
||||
TenantedDeviceWrapper tenantedDeviceWrapper = new TenantedDeviceWrapper();
|
||||
try {
|
||||
DeviceManagementDAOFactory.openConnection();
|
||||
@ -75,7 +71,6 @@ public class SCEPManagerImpl implements SCEPManager {
|
||||
|
||||
String tenantDomain = realmService.getTenantManager().getDomain(tenantId);
|
||||
tenantedDeviceWrapper.setTenantDomain(tenantDomain);
|
||||
|
||||
} catch (SQLException e) {
|
||||
throw new SCEPException("Error occurred while getting the datasource connection.", e);
|
||||
} catch (DeviceManagementDAOException e) {
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
@ -15,15 +15,12 @@
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
|
||||
package org.wso2.carbon.device.mgt.core.scep;
|
||||
package org.wso2.carbon.certificate.mgt.core.scep;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
|
||||
public class TenantedDeviceWrapper {
|
||||
|
||||
private Device device;
|
||||
Device device;
|
||||
private int tenantId;
|
||||
private String tenantDomain;
|
||||
|
||||
@ -57,6 +57,9 @@ public class DeviceInfo implements Serializable {
|
||||
@ApiModelProperty(name = "osVersion", value = "Operating system version.", required = true)
|
||||
private String osVersion;
|
||||
|
||||
@ApiModelProperty(name = "osBuildDate", value = "Operating system build date.", required = true)
|
||||
private String osBuildDate;
|
||||
|
||||
@ApiModelProperty(name = "batteryLevel", value = "Battery level of the device.", required = true)
|
||||
private Double batteryLevel;
|
||||
|
||||
@ -201,6 +204,19 @@ public class DeviceInfo implements Serializable {
|
||||
this.osVersion = osVersion;
|
||||
}
|
||||
|
||||
|
||||
public String getOsBuildDate() {
|
||||
if (osBuildDate != null) {
|
||||
return osBuildDate;
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
public void setOsBuildDate(String osBuildDate) {
|
||||
this.osBuildDate = osBuildDate;
|
||||
}
|
||||
|
||||
public Double getBatteryLevel() {
|
||||
if (batteryLevel != null) {
|
||||
return batteryLevel;
|
||||
|
||||
@ -209,6 +209,7 @@ public final class DeviceManagementDAOUtil {
|
||||
deviceInfo.setDeviceModel(rs.getString("DEVICE_MODEL"));
|
||||
deviceInfo.setVendor(rs.getString("VENDOR"));
|
||||
deviceInfo.setOsVersion(rs.getString("OS_VERSION"));
|
||||
deviceInfo.setOsBuildDate(rs.getString("OS_BUILD_DATE"));
|
||||
deviceInfo.setBatteryLevel(rs.getDouble("BATTERY_LEVEL"));
|
||||
deviceInfo.setInternalTotalMemory(rs.getDouble("INTERNAL_TOTAL_MEMORY"));
|
||||
deviceInfo.setInternalAvailableMemory(rs.getDouble("INTERNAL_AVAILABLE_MEMORY"));
|
||||
|
||||
@ -48,27 +48,28 @@ public class DeviceDetailsDAOImpl implements DeviceDetailsDAO {
|
||||
conn = this.getConnection();
|
||||
|
||||
stmt = conn.prepareStatement("INSERT INTO DM_DEVICE_DETAIL (DEVICE_ID, DEVICE_MODEL, " +
|
||||
"VENDOR, OS_VERSION, BATTERY_LEVEL, INTERNAL_TOTAL_MEMORY, INTERNAL_AVAILABLE_MEMORY, " +
|
||||
"VENDOR, OS_VERSION, OS_BUILD_DATE, BATTERY_LEVEL, INTERNAL_TOTAL_MEMORY, INTERNAL_AVAILABLE_MEMORY, " +
|
||||
"EXTERNAL_TOTAL_MEMORY, EXTERNAL_AVAILABLE_MEMORY, CONNECTION_TYPE, " +
|
||||
"SSID, CPU_USAGE, TOTAL_RAM_MEMORY, AVAILABLE_RAM_MEMORY, PLUGGED_IN, UPDATE_TIMESTAMP) " +
|
||||
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
||||
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
||||
|
||||
stmt.setInt(1, deviceId);
|
||||
stmt.setString(2, deviceInfo.getDeviceModel());
|
||||
stmt.setString(3, deviceInfo.getVendor());
|
||||
stmt.setString(4, deviceInfo.getOsVersion());
|
||||
stmt.setDouble(5, deviceInfo.getBatteryLevel());
|
||||
stmt.setDouble(6, deviceInfo.getInternalTotalMemory());
|
||||
stmt.setDouble(7, deviceInfo.getInternalAvailableMemory());
|
||||
stmt.setDouble(8, deviceInfo.getExternalTotalMemory());
|
||||
stmt.setDouble(9, deviceInfo.getExternalAvailableMemory());
|
||||
stmt.setString(10, deviceInfo.getConnectionType());
|
||||
stmt.setString(11, deviceInfo.getSsid());
|
||||
stmt.setDouble(12, deviceInfo.getCpuUsage());
|
||||
stmt.setDouble(13, deviceInfo.getTotalRAMMemory());
|
||||
stmt.setDouble(14, deviceInfo.getAvailableRAMMemory());
|
||||
stmt.setBoolean(15, deviceInfo.isPluggedIn());
|
||||
stmt.setLong(16, System.currentTimeMillis());
|
||||
stmt.setString(5, deviceInfo.getOsBuildDate());
|
||||
stmt.setDouble(6, deviceInfo.getBatteryLevel());
|
||||
stmt.setDouble(7, deviceInfo.getInternalTotalMemory());
|
||||
stmt.setDouble(8, deviceInfo.getInternalAvailableMemory());
|
||||
stmt.setDouble(9, deviceInfo.getExternalTotalMemory());
|
||||
stmt.setDouble(10, deviceInfo.getExternalAvailableMemory());
|
||||
stmt.setString(11, deviceInfo.getConnectionType());
|
||||
stmt.setString(12, deviceInfo.getSsid());
|
||||
stmt.setDouble(13, deviceInfo.getCpuUsage());
|
||||
stmt.setDouble(14, deviceInfo.getTotalRAMMemory());
|
||||
stmt.setDouble(15, deviceInfo.getAvailableRAMMemory());
|
||||
stmt.setBoolean(16, deviceInfo.isPluggedIn());
|
||||
stmt.setLong(17, System.currentTimeMillis());
|
||||
|
||||
stmt.execute();
|
||||
|
||||
@ -131,6 +132,7 @@ public class DeviceDetailsDAOImpl implements DeviceDetailsDAO {
|
||||
deviceInfo.setDeviceModel(rs.getString("DEVICE_MODEL"));
|
||||
deviceInfo.setVendor(rs.getString("VENDOR"));
|
||||
deviceInfo.setOsVersion(rs.getString("OS_VERSION"));
|
||||
deviceInfo.setOsBuildDate(rs.getString("OS_BUILD_DATE"));
|
||||
deviceInfo.setBatteryLevel(rs.getDouble("BATTERY_LEVEL"));
|
||||
deviceInfo.setInternalTotalMemory(rs.getDouble("INTERNAL_TOTAL_MEMORY"));
|
||||
deviceInfo.setInternalAvailableMemory(rs.getDouble("INTERNAL_AVAILABLE_MEMORY"));
|
||||
|
||||
@ -1,60 +0,0 @@
|
||||
package org.wso2.carbon.device.mgt.core.internal;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.service.component.ComponentContext;
|
||||
import org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderService;
|
||||
import org.wso2.carbon.device.mgt.core.scep.SCEPManager;
|
||||
import org.wso2.carbon.device.mgt.core.scep.SCEPManagerImpl;
|
||||
|
||||
/**
|
||||
* @scr.component name="org.wso2.carbon.device.mgt.core.scep" immediate="true"
|
||||
* @scr.reference name="app.mgt.service"
|
||||
* interface="org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderService"
|
||||
* cardinality="1..1"
|
||||
* policy="dynamic"
|
||||
* bind="setApplicationManagementProviderService"
|
||||
* unbind="unsetApplicationManagementProviderService"
|
||||
*/
|
||||
public class SCEPManagerServiceComponent {
|
||||
|
||||
private static final Log log = LogFactory.getLog(SCEPManagerServiceComponent.class);
|
||||
|
||||
protected void activate(ComponentContext componentContext) {
|
||||
|
||||
try {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Initializing SCEP core bundle");
|
||||
}
|
||||
|
||||
BundleContext bundleContext = componentContext.getBundleContext();
|
||||
bundleContext.registerService(SCEPManager.class.getName(),
|
||||
new SCEPManagerImpl(), null);
|
||||
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("SCEP core bundle has been successfully initialized");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
String msg = "Error occurred while initializing SCEP core bundle";
|
||||
log.error(msg, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void deactivate(ComponentContext ctx) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Deactivating SCEP core bundle");
|
||||
}
|
||||
}
|
||||
|
||||
protected void unsetApplicationManagementProviderService(ApplicationManagementProviderService
|
||||
applicationManagementProviderService) {
|
||||
//do nothing
|
||||
}
|
||||
|
||||
protected void setApplicationManagementProviderService(ApplicationManagementProviderService
|
||||
applicationManagementProviderService) {
|
||||
//do nothing
|
||||
}
|
||||
|
||||
}
|
||||
@ -79,6 +79,7 @@ public class SearchDAOImpl implements SearchDAO {
|
||||
deviceInfo.setInternalAvailableMemory(rs.getDouble("INTERNAL_AVAILABLE_MEMORY"));
|
||||
deviceInfo.setInternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY"));
|
||||
deviceInfo.setOsVersion(rs.getString("OS_VERSION"));
|
||||
deviceInfo.setOsBuildDate(rs.getString("OS_BUILD_DATE"));
|
||||
deviceInfo.setPluggedIn(rs.getBoolean("PLUGGED_IN"));
|
||||
deviceInfo.setSsid(rs.getString("SSID"));
|
||||
deviceInfo.setTotalRAMMemory(rs.getDouble("TOTAL_RAM_MEMORY"));
|
||||
@ -156,6 +157,7 @@ public class SearchDAOImpl implements SearchDAO {
|
||||
deviceInfo.setInternalAvailableMemory(rs.getDouble("INTERNAL_AVAILABLE_MEMORY"));
|
||||
deviceInfo.setInternalTotalMemory(rs.getDouble("EXTERNAL_TOTAL_MEMORY"));
|
||||
deviceInfo.setOsVersion(rs.getString("OS_VERSION"));
|
||||
deviceInfo.setOsBuildDate(rs.getString("OS_BUILD_DATE"));
|
||||
deviceInfo.setPluggedIn(rs.getBoolean("PLUGGED_IN"));
|
||||
deviceInfo.setSsid(rs.getString("SSID"));
|
||||
deviceInfo.setTotalRAMMemory(rs.getDouble("TOTAL_RAM_MEMORY"));
|
||||
|
||||
@ -192,7 +192,7 @@ public class QueryBuilderImpl implements QueryBuilder {
|
||||
return "SELECT D.ID, D.DESCRIPTION, D.NAME, \n" +
|
||||
"D.DEVICE_TYPE_ID, D.DEVICE_IDENTIFICATION, DT.ID AS DEVICE_TYPE_ID, \n" +
|
||||
"DT.NAME AS DEVICE_TYPE_NAME, DD.DEVICE_ID, DD.DEVICE_MODEL, DD.VENDOR, \n" +
|
||||
"DD.OS_VERSION, DD.BATTERY_LEVEL, DD.INTERNAL_TOTAL_MEMORY, DD.INTERNAL_AVAILABLE_MEMORY,\n" +
|
||||
"DD.OS_VERSION, DD.OS_BUILD_DATE, DD.BATTERY_LEVEL, DD.INTERNAL_TOTAL_MEMORY, DD.INTERNAL_AVAILABLE_MEMORY,\n" +
|
||||
"DD.EXTERNAL_TOTAL_MEMORY, DD.EXTERNAL_AVAILABLE_MEMORY, DD.CONNECTION_TYPE, \n" +
|
||||
"DD.SSID, DD.CPU_USAGE, DD.TOTAL_RAM_MEMORY, DD.AVAILABLE_RAM_MEMORY, \n" +
|
||||
"DD.PLUGGED_IN, DD.UPDATE_TIMESTAMP, DL.LATITUDE, DL.LONGITUDE, DL.STREET1, DL.STREET2, DL.CITY, DL.ZIP, \n" +
|
||||
@ -211,7 +211,7 @@ public class QueryBuilderImpl implements QueryBuilder {
|
||||
return "SELECT D.ID, D.DESCRIPTION, D.NAME, \n" +
|
||||
"D.DEVICE_TYPE_ID, D.DEVICE_IDENTIFICATION, DT.ID AS DEVICE_TYPE_ID, \n" +
|
||||
"DT.NAME AS DEVICE_TYPE_NAME, DD.DEVICE_ID, DD.DEVICE_MODEL, DD.VENDOR, \n" +
|
||||
"DD.OS_VERSION, DD.BATTERY_LEVEL, DD.INTERNAL_TOTAL_MEMORY, DD.INTERNAL_AVAILABLE_MEMORY,\n" +
|
||||
"DD.OS_VERSION, DD.OS_BUILD_DATE, DD.BATTERY_LEVEL, DD.INTERNAL_TOTAL_MEMORY, DD.INTERNAL_AVAILABLE_MEMORY,\n" +
|
||||
"DD.EXTERNAL_TOTAL_MEMORY, DD.EXTERNAL_AVAILABLE_MEMORY, DD.CONNECTION_TYPE, \n" +
|
||||
"DD.SSID, DD.CPU_USAGE, DD.TOTAL_RAM_MEMORY, DD.AVAILABLE_RAM_MEMORY, \n" +
|
||||
"DD.PLUGGED_IN, DD.UPDATE_TIMESTAMP, DL.LATITUDE, DL.LONGITUDE, DL.STREET1, DL.STREET2, DL.CITY, DL.ZIP, \n" +
|
||||
|
||||
@ -35,6 +35,7 @@ public class Utils {
|
||||
genericColumnsMap.put("deviceModel", "DEVICE_MODEL");
|
||||
genericColumnsMap.put("vendor", "VENDOR");
|
||||
genericColumnsMap.put("osVersion", "OS_VERSION");
|
||||
genericColumnsMap.put("osBuildDate", "OS_BUILD_DATE");
|
||||
genericColumnsMap.put("batteryLevel", "BATTERY_LEVEL");
|
||||
genericColumnsMap.put("internalTotalMemory", "INTERNAL_TOTAL_MEMORY");
|
||||
genericColumnsMap.put("internalAvailableMemory", "INTERNAL_AVAILABLE_MEMORY");
|
||||
|
||||
@ -52,6 +52,7 @@ public class Utils {
|
||||
deviceInfo.setMobileSignalStrength(0.67);
|
||||
deviceInfo.setOperator("Dialog");
|
||||
deviceInfo.setOsVersion("Lolipop");
|
||||
deviceInfo.setOsBuildDate("1467366458");
|
||||
deviceInfo.setPluggedIn(true);
|
||||
deviceInfo.setSsid("SSSSSS");
|
||||
deviceInfo.setTotalRAMMemory(4.00);
|
||||
|
||||
@ -469,6 +469,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL (
|
||||
DEVICE_MODEL VARCHAR(45) NULL,
|
||||
VENDOR VARCHAR(45) NULL,
|
||||
OS_VERSION VARCHAR(45) NULL,
|
||||
OS_BUILD_DATE VARCHAR(100) NULL,
|
||||
BATTERY_LEVEL DECIMAL(4) NULL,
|
||||
INTERNAL_TOTAL_MEMORY DECIMAL(30,3) NULL,
|
||||
INTERNAL_AVAILABLE_MEMORY DECIMAL(30,3) NULL,
|
||||
|
||||
@ -33,6 +33,7 @@ var DEVICE_VENDOR = "vendor";
|
||||
var DEVICE_MODEL = "model";
|
||||
var DEVICE_PRODUCT = "PRODUCT";
|
||||
var DEVICE_OS_VERSION = "osVersion";
|
||||
var DEVICE_OS_BUILD_DATE = "osBuildDate";
|
||||
var DEVICE_PROPERTIES = "properties";
|
||||
var DEVICE_ENROLLMENT_INFO = "enrolmentInfo";
|
||||
var DEVICE_STATUS = "status";
|
||||
|
||||
@ -473,6 +473,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL (
|
||||
DEVICE_MODEL VARCHAR(45) NULL,
|
||||
VENDOR VARCHAR(45) NULL,
|
||||
OS_VERSION VARCHAR(45) NULL,
|
||||
OS_BUILD_DATE VARCHAR(100) NULL,
|
||||
BATTERY_LEVEL DECIMAL(4) NULL,
|
||||
INTERNAL_TOTAL_MEMORY DECIMAL(30,3) NULL,
|
||||
INTERNAL_AVAILABLE_MEMORY DECIMAL(30,3) NULL,
|
||||
|
||||
@ -99,7 +99,6 @@
|
||||
org.wso2.carbon.device.mgt.core.permission.mgt,
|
||||
org.wso2.carbon.device.mgt.common,
|
||||
org.wso2.carbon.device.mgt.common.permission.mgt,
|
||||
org.wso2.carbon.device.mgt.core.scep,
|
||||
org.apache.axis2,
|
||||
org.apache.axis2.client,
|
||||
org.apache.commons.codec.binary,
|
||||
|
||||
@ -18,8 +18,8 @@
|
||||
*/
|
||||
package org.wso2.carbon.webapp.authenticator.framework;
|
||||
|
||||
import org.wso2.carbon.certificate.mgt.core.scep.SCEPManager;
|
||||
import org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService;
|
||||
import org.wso2.carbon.device.mgt.core.scep.SCEPManager;
|
||||
import org.wso2.carbon.identity.oauth2.OAuth2TokenValidationService;
|
||||
import org.wso2.carbon.registry.core.service.TenantRegistryLoader;
|
||||
import org.wso2.carbon.registry.indexing.service.TenantIndexingLoader;
|
||||
|
||||
@ -6,15 +6,15 @@ import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.certificate.mgt.core.dto.CertificateResponse;
|
||||
import org.wso2.carbon.certificate.mgt.core.exception.KeystoreException;
|
||||
import org.wso2.carbon.certificate.mgt.core.scep.SCEPException;
|
||||
import org.wso2.carbon.certificate.mgt.core.scep.SCEPManager;
|
||||
import org.wso2.carbon.certificate.mgt.core.scep.TenantedDeviceWrapper;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
|
||||
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
||||
import org.wso2.carbon.device.mgt.core.scep.SCEPException;
|
||||
import org.wso2.carbon.device.mgt.core.scep.SCEPManager;
|
||||
import org.wso2.carbon.device.mgt.core.scep.TenantedDeviceWrapper;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.AuthenticationException;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.AuthenticatorFrameworkDataHolder;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.AuthenticationInfo;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.AuthenticatorFrameworkDataHolder;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.Utils.Utils;
|
||||
|
||||
import java.security.cert.X509Certificate;
|
||||
|
||||
@ -1,215 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.webapp.authenticator.framework.internal;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.service.component.ComponentContext;
|
||||
import org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService;
|
||||
import org.wso2.carbon.device.mgt.core.scep.SCEPManager;
|
||||
import org.wso2.carbon.identity.oauth2.OAuth2TokenValidationService;
|
||||
import org.wso2.carbon.registry.core.service.TenantRegistryLoader;
|
||||
import org.wso2.carbon.registry.indexing.service.TenantIndexingLoader;
|
||||
import org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve;
|
||||
import org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer;
|
||||
import org.wso2.carbon.user.core.service.RealmService;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.AuthenticatorFrameworkDataHolder;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.WebappAuthenticationValve;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.WebappAuthenticatorRepository;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.authenticator.WebappAuthenticator;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.config.AuthenticatorConfig;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.config.AuthenticatorConfigService;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.config.WebappAuthenticatorConfig;
|
||||
import org.wso2.carbon.webapp.authenticator.framework.config.impl.AuthenticatorConfigServiceImpl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* @scr.component name="org.wso2.carbon.webapp.authenticator" immediate="true"
|
||||
* @scr.reference name="user.realmservice.default"
|
||||
* interface="org.wso2.carbon.user.core.service.RealmService"
|
||||
* cardinality="1..1"
|
||||
* policy="dynamic"
|
||||
* bind="setRealmService"
|
||||
* unbind="unsetRealmService"
|
||||
* @scr.reference name="org.wso2.carbon.certificate.mgt"
|
||||
* interface="org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService"
|
||||
* policy="dynamic"
|
||||
* cardinality="1..n"
|
||||
* bind="setCertificateManagementService"
|
||||
* unbind="unsetCertificateManagementService"
|
||||
* @scr.reference name="org.wso2.carbon.device.mgt.core.scep"
|
||||
* interface="org.wso2.carbon.device.mgt.core.scep.SCEPManager"
|
||||
* policy="dynamic"
|
||||
* cardinality="1..n"
|
||||
* bind="setSCEPManagementService"
|
||||
* unbind="unsetSCEPManagementService"
|
||||
* @scr.reference name="identity.oauth2.validation.service"
|
||||
* interface="org.wso2.carbon.identity.oauth2.OAuth2TokenValidationService"
|
||||
* cardinality="1..1"
|
||||
* policy="dynamic"
|
||||
* bind="setOAuth2ValidationService"
|
||||
* unbind="unsetOAuth2ValidationService"
|
||||
* @scr.reference name="tenant.indexloader"
|
||||
* interface="org.wso2.carbon.registry.indexing.service.TenantIndexingLoader"
|
||||
* cardinality="1..1"
|
||||
* policy="dynamic"
|
||||
* bind="setTenantIndexLoader"
|
||||
* unbind="unsetTenantIndexLoader"
|
||||
* @scr.reference name="tenant.registryloader"
|
||||
* interface="org.wso2.carbon.registry.core.service.TenantRegistryLoader"
|
||||
* cardinality="1..1" policy="dynamic"
|
||||
* bind="setTenantRegistryLoader"
|
||||
* unbind="unsetTenantRegistryLoader"
|
||||
*/
|
||||
public class WebappAuthenticatorFrameworkServiceComponent {
|
||||
|
||||
private static final Log log = LogFactory.getLog(WebappAuthenticatorFrameworkServiceComponent.class);
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
protected void activate(ComponentContext componentContext) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Starting Web Application Authenticator Framework Bundle");
|
||||
}
|
||||
try {
|
||||
WebappAuthenticatorConfig.init();
|
||||
WebappAuthenticatorRepository repository = new WebappAuthenticatorRepository();
|
||||
for (AuthenticatorConfig config : WebappAuthenticatorConfig.getInstance().getAuthenticators()) {
|
||||
WebappAuthenticator authenticator =
|
||||
(WebappAuthenticator) Class.forName(config.getClassName()).newInstance();
|
||||
|
||||
if ((config.getParams() != null) && (!config.getParams().isEmpty())) {
|
||||
Properties properties = new Properties();
|
||||
for (AuthenticatorConfig.Parameter param : config.getParams()) {
|
||||
properties.setProperty(param.getName(), param.getValue());
|
||||
}
|
||||
authenticator.setProperties(properties);
|
||||
}
|
||||
authenticator.init();
|
||||
repository.addAuthenticator(authenticator);
|
||||
}
|
||||
|
||||
//Register AuthenticatorConfigService to expose webapp-authenticator configs.
|
||||
BundleContext bundleContext = componentContext.getBundleContext();
|
||||
AuthenticatorConfigService authenticatorConfigService = new AuthenticatorConfigServiceImpl();
|
||||
bundleContext.registerService(AuthenticatorConfigService.class.getName(), authenticatorConfigService, null);
|
||||
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setWebappAuthenticatorRepository(repository);
|
||||
|
||||
List<CarbonTomcatValve> valves = new ArrayList<CarbonTomcatValve>();
|
||||
valves.add(new WebappAuthenticationValve());
|
||||
TomcatValveContainer.addValves(valves);
|
||||
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Web Application Authenticator Framework Bundle has been started successfully");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
log.error("Error occurred while initializing the bundle", e);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
protected void deactivate(ComponentContext componentContext) {
|
||||
//do nothing
|
||||
}
|
||||
|
||||
protected void setRealmService(RealmService realmService) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("RealmService acquired");
|
||||
}
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setRealmService(realmService);
|
||||
}
|
||||
|
||||
protected void unsetRealmService(RealmService realmService) {
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setRealmService(null);
|
||||
}
|
||||
|
||||
protected void setCertificateManagementService(CertificateManagementService certificateManagementService) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Setting certificate management service");
|
||||
}
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setCertificateManagementService(certificateManagementService);
|
||||
}
|
||||
|
||||
protected void unsetCertificateManagementService(CertificateManagementService certificateManagementService) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Removing certificate management service");
|
||||
}
|
||||
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setCertificateManagementService(null);
|
||||
}
|
||||
|
||||
protected void setSCEPManagementService(SCEPManager scepManager) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Setting SCEP management service");
|
||||
}
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setScepManager(scepManager);
|
||||
}
|
||||
|
||||
protected void unsetSCEPManagementService(SCEPManager scepManager) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Removing SCEP management service");
|
||||
}
|
||||
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setScepManager(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets OAuth2TokenValidation Service.
|
||||
*
|
||||
* @param tokenValidationService An instance of OAuth2TokenValidationService
|
||||
*/
|
||||
protected void setOAuth2ValidationService(OAuth2TokenValidationService tokenValidationService) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Setting OAuth2TokenValidationService Service");
|
||||
}
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setOAuth2TokenValidationService(tokenValidationService);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unsets OAuth2TokenValidation Service.
|
||||
*
|
||||
* @param tokenValidationService An instance of OAuth2TokenValidationService
|
||||
*/
|
||||
protected void unsetOAuth2ValidationService(OAuth2TokenValidationService tokenValidationService) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Unsetting OAuth2TokenValidationService Service");
|
||||
}
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setOAuth2TokenValidationService(null);
|
||||
}
|
||||
|
||||
protected void setTenantIndexLoader(TenantIndexingLoader tenantIndexLoader) {
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setTenantIndexingLoader(tenantIndexLoader);
|
||||
}
|
||||
|
||||
protected void unsetTenantIndexLoader(TenantIndexingLoader tenantIndexLoader) {
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setTenantIndexingLoader(null);
|
||||
}
|
||||
|
||||
protected void setTenantRegistryLoader(TenantRegistryLoader tenantRegistryLoader) {
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setTenantRegistryLoader(tenantRegistryLoader);
|
||||
}
|
||||
|
||||
protected void unsetTenantRegistryLoader(TenantRegistryLoader tenantRegistryLoader) {
|
||||
AuthenticatorFrameworkDataHolder.getInstance().setTenantRegistryLoader(null);
|
||||
}
|
||||
}
|
||||
@ -473,6 +473,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL (
|
||||
DEVICE_MODEL VARCHAR(45) NULL,
|
||||
VENDOR VARCHAR(45) NULL,
|
||||
OS_VERSION VARCHAR(45) NULL,
|
||||
OS_BUILD_DATE VARCHAR(100) NULL,
|
||||
BATTERY_LEVEL DECIMAL(4) NULL,
|
||||
INTERNAL_TOTAL_MEMORY DECIMAL(30,3) NULL,
|
||||
INTERNAL_AVAILABLE_MEMORY DECIMAL(30,3) NULL,
|
||||
|
||||
@ -486,6 +486,7 @@ CREATE TABLE DM_DEVICE_DETAIL (
|
||||
DEVICE_MODEL VARCHAR(45) NULL,
|
||||
VENDOR VARCHAR(45) NULL,
|
||||
OS_VERSION VARCHAR(45) NULL,
|
||||
OS_BUILD_DATE VARCHAR(100) NULL,
|
||||
BATTERY_LEVEL DECIMAL(4) NULL,
|
||||
INTERNAL_TOTAL_MEMORY DECIMAL(30,3) NULL,
|
||||
INTERNAL_AVAILABLE_MEMORY DECIMAL(30,3) NULL,
|
||||
|
||||
@ -507,6 +507,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL (
|
||||
DEVICE_MODEL VARCHAR(45) NULL,
|
||||
VENDOR VARCHAR(45) NULL,
|
||||
OS_VERSION VARCHAR(45) NULL,
|
||||
OS_BUILD_DATE VARCHAR(100) NULL,
|
||||
BATTERY_LEVEL DECIMAL(4) NULL,
|
||||
INTERNAL_TOTAL_MEMORY DECIMAL(30,3) NULL,
|
||||
INTERNAL_AVAILABLE_MEMORY DECIMAL(30,3) NULL,
|
||||
|
||||
@ -825,6 +825,7 @@ CREATE TABLE DM_DEVICE_DETAIL (
|
||||
DEVICE_MODEL VARCHAR2(45) NULL,
|
||||
VENDOR VARCHAR2(45) NULL,
|
||||
OS_VERSION VARCHAR2(45) NULL,
|
||||
OS_BUILD_DATE VARCHAR(100) NULL,
|
||||
BATTERY_LEVEL NUMBER(4) NULL,
|
||||
INTERNAL_TOTAL_MEMORY NUMBER(30,3) NULL,
|
||||
INTERNAL_AVAILABLE_MEMORY NUMBER(30,3) NULL,
|
||||
|
||||
@ -416,6 +416,8 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL (
|
||||
DEVICE_MODEL VARCHAR(45) NULL,
|
||||
VENDOR VARCHAR(45) NULL,
|
||||
OS_VERSION VARCHAR(45) NULL,
|
||||
|
||||
OS_BUILD_DATE VARCHAR(100) NULL,
|
||||
BATTERY_LEVEL DECIMAL(4) NULL,
|
||||
INTERNAL_TOTAL_MEMORY DECIMAL(30,3) NULL,
|
||||
INTERNAL_AVAILABLE_MEMORY DECIMAL(30,3) NULL,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user