mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
Sync apim420 branch with master branch
This commit is contained in:
commit
2bf0f84e8a
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<parent>
|
||||
<artifactId>virtual-fire-alarm-plugin</artifactId>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<parent>
|
||||
<artifactId>virtual-fire-alarm-plugin</artifactId>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -53,7 +53,7 @@ import javax.ws.rs.core.Response;
|
||||
@Scope(
|
||||
name = "Enroll device",
|
||||
description = "",
|
||||
key = "perm:firealarm:enroll",
|
||||
key = "dm:firealarm:enroll",
|
||||
permissions = {"/device-mgt/devices/enroll/firealarm"},
|
||||
roles = {"Internal/devicemgt-user"}
|
||||
)
|
||||
@ -83,7 +83,7 @@ public interface VirtualFireAlarmService {
|
||||
tags = "virtual_firealarm",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = SCOPE, value = "perm:firealarm:enroll")
|
||||
@ExtensionProperty(name = SCOPE, value = "dm:firealarm:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -104,7 +104,7 @@ public interface VirtualFireAlarmService {
|
||||
tags = "virtual_firealarm",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = SCOPE, value = "perm:firealarm:enroll")
|
||||
@ExtensionProperty(name = SCOPE, value = "dm:firealarm:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -125,7 +125,7 @@ public interface VirtualFireAlarmService {
|
||||
tags = "virtual_firealarm",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = SCOPE, value = "perm:firealarm:enroll")
|
||||
@ExtensionProperty(name = SCOPE, value = "dm:firealarm:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>device-types</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>cdmf-transport-adapters</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>cdmf-transport-adapters</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -62,7 +62,7 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
|
||||
private static final String APPLICATION_NAME = "websocket-app";
|
||||
private static final String PASSWORD_GRANT_TYPE = "password";
|
||||
private static final String REFRESH_GRANT_TYPE = "refresh_token";
|
||||
private static final String REQUIRED_SCOPE = "perm:authorization:verify";
|
||||
private static final String REQUIRED_SCOPE = "dm:authorization:verify";
|
||||
private ApiApplicationRegistrationService apiApplicationRegistrationService;
|
||||
private TokenIssuerService tokenIssuerService;
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>cdmf-transport-adapters</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>cdmf-transport-adapters</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>cdmf-transport-adapters</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>cdmf-transport-adapters</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>cdmf-transport-adapters</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -94,12 +94,18 @@ public class MQTTEventAdapterFactory extends OutputEventAdapterFactory {
|
||||
qos.setOptions(new String[]{"0", "1", "2"});
|
||||
qos.setDefaultValue("2");
|
||||
|
||||
// set topic
|
||||
Property topicProperty = new Property(MQTTEventAdapterConstants.ADAPTER_MESSAGE_TOPIC);
|
||||
topicProperty.setDisplayName(resourceBundle.getString(MQTTEventAdapterConstants.ADAPTER_MESSAGE_TOPIC));
|
||||
topicProperty.setRequired(false);
|
||||
|
||||
staticPropertyList.add(brokerUrl);
|
||||
staticPropertyList.add(userName);
|
||||
staticPropertyList.add(scopes);
|
||||
staticPropertyList.add(clearSession);
|
||||
staticPropertyList.add(qos);
|
||||
staticPropertyList.add(password);
|
||||
staticPropertyList.add(topicProperty);
|
||||
return staticPropertyList;
|
||||
}
|
||||
|
||||
|
||||
@ -17,23 +17,6 @@
|
||||
*/
|
||||
package io.entgra.device.mgt.plugins.output.adapter.mqtt.util;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.ssl.Base64;
|
||||
import org.apache.http.HttpResponse;
|
||||
import org.apache.http.client.HttpClient;
|
||||
import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.entity.ContentType;
|
||||
import org.apache.http.entity.StringEntity;
|
||||
import org.apache.http.message.BasicHeader;
|
||||
import org.eclipse.paho.client.mqttv3.MqttClient;
|
||||
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
|
||||
import org.eclipse.paho.client.mqttv3.MqttException;
|
||||
import org.eclipse.paho.client.mqttv3.MqttMessage;
|
||||
import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
import org.json.simple.parser.ParseException;
|
||||
import io.entgra.device.mgt.core.apimgt.keymgt.extension.DCRResponse;
|
||||
import io.entgra.device.mgt.core.apimgt.keymgt.extension.TokenRequest;
|
||||
import io.entgra.device.mgt.core.apimgt.keymgt.extension.TokenResponse;
|
||||
@ -41,13 +24,21 @@ import io.entgra.device.mgt.core.apimgt.keymgt.extension.exception.BadRequestExc
|
||||
import io.entgra.device.mgt.core.apimgt.keymgt.extension.exception.KeyMgtException;
|
||||
import io.entgra.device.mgt.core.apimgt.keymgt.extension.service.KeyMgtService;
|
||||
import io.entgra.device.mgt.core.apimgt.keymgt.extension.service.KeyMgtServiceImpl;
|
||||
import io.entgra.device.mgt.core.identity.jwt.client.extension.exception.JWTClientException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.ssl.Base64;
|
||||
import org.eclipse.paho.client.mqttv3.MqttClient;
|
||||
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
|
||||
import org.eclipse.paho.client.mqttv3.MqttException;
|
||||
import org.eclipse.paho.client.mqttv3.MqttMessage;
|
||||
import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||
import org.wso2.carbon.event.output.adapter.core.exception.ConnectionUnavailableException;
|
||||
import org.wso2.carbon.event.output.adapter.core.exception.OutputEventAdapterException;
|
||||
import org.wso2.carbon.event.output.adapter.core.exception.OutputEventAdapterRuntimeException;
|
||||
import io.entgra.device.mgt.core.identity.jwt.client.extension.dto.AccessTokenInfo;
|
||||
import io.entgra.device.mgt.core.identity.jwt.client.extension.exception.JWTClientException;
|
||||
import io.entgra.device.mgt.core.identity.jwt.client.extension.service.JWTClientManagerService;
|
||||
import org.wso2.carbon.user.api.UserStoreException;
|
||||
|
||||
/**
|
||||
@ -153,6 +144,8 @@ public class MQTTAdapterPublisher {
|
||||
String dcrUrlString = this.mqttBrokerConnectionConfiguration.getDcrUrl();
|
||||
|
||||
if (dcrUrlString != null && !dcrUrlString.isEmpty()) {
|
||||
PrivilegedCarbonContext.startTenantFlow();
|
||||
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(tenantDomain, true);
|
||||
try {
|
||||
KeyMgtService keyMgtService = new KeyMgtServiceImpl();
|
||||
String applicationName = MQTTEventAdapterConstants.APPLICATION_NAME_PREFIX
|
||||
@ -170,6 +163,8 @@ public class MQTTAdapterPublisher {
|
||||
} catch (KeyMgtException e) {
|
||||
log.error("Failed to create an application.", e);
|
||||
throw new OutputEventAdapterRuntimeException("Failed to create an application.", e);
|
||||
} finally {
|
||||
PrivilegedCarbonContext.endTenantFlow();
|
||||
}
|
||||
}
|
||||
throw new OutputEventAdapterRuntimeException("Invalid configuration for mqtt publisher");
|
||||
@ -177,27 +172,33 @@ public class MQTTAdapterPublisher {
|
||||
|
||||
private String getToken(String clientId, String clientSecret)
|
||||
throws UserStoreException, JWTClientException {
|
||||
PrivilegedCarbonContext.startTenantFlow();
|
||||
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(tenantDomain, true);
|
||||
try {
|
||||
String scopes = mqttBrokerConnectionConfiguration.getScopes();
|
||||
scopes += " perm:topic:pub:" + tenantDomain + ":+:+:operation";
|
||||
|
||||
TokenRequest tokenRequest = new TokenRequest(clientId, clientSecret,
|
||||
null, scopes.toString(), "client_credentials", null,
|
||||
null, null, null, Integer.MAX_VALUE);
|
||||
TokenRequest tokenRequest = getTokenRequest(clientId, clientSecret);
|
||||
KeyMgtService keyMgtService = new KeyMgtServiceImpl();
|
||||
TokenResponse tokenResponse = keyMgtService.generateAccessToken(tokenRequest);
|
||||
|
||||
return tokenResponse.getAccessToken();
|
||||
} catch (KeyMgtException | BadRequestException e) {
|
||||
log.error("Error while generating access token", e);
|
||||
} finally {
|
||||
PrivilegedCarbonContext.endTenantFlow();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private TokenRequest getTokenRequest(String clientId, String clientSecret) {
|
||||
String scopes = mqttBrokerConnectionConfiguration.getScopes();
|
||||
scopes += " perm:topic:pub:" + tenantDomain + ":+:+:operation";
|
||||
|
||||
if (!StringUtils.isEmpty(mqttBrokerConnectionConfiguration.getTopic())) {
|
||||
scopes += " perm:topic:pub:" + mqttBrokerConnectionConfiguration.getTopic().replace("/",":");
|
||||
}
|
||||
|
||||
TokenRequest tokenRequest = new TokenRequest(clientId, clientSecret,
|
||||
null, scopes.toString(), "client_credentials", null,
|
||||
null, null, null, Integer.MAX_VALUE);
|
||||
return tokenRequest;
|
||||
}
|
||||
|
||||
private String getBase64Encode(String key, String value) {
|
||||
return new String(Base64.encodeBase64((key + ":" + value).getBytes()));
|
||||
}
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
*/
|
||||
package io.entgra.device.mgt.plugins.output.adapter.mqtt.util;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.wso2.carbon.event.output.adapter.core.OutputEventAdapterConfiguration;
|
||||
import org.wso2.carbon.event.output.adapter.core.exception.OutputEventAdapterException;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@ -36,6 +36,8 @@ public class MQTTBrokerConnectionConfiguration {
|
||||
private boolean globalCredentailSet;
|
||||
private int qos;
|
||||
|
||||
private String topic;
|
||||
|
||||
public String getTokenUrl() {
|
||||
return tokenUrl;
|
||||
}
|
||||
@ -79,6 +81,11 @@ public class MQTTBrokerConnectionConfiguration {
|
||||
public int getQos() {
|
||||
return qos;
|
||||
}
|
||||
|
||||
public String getTopic() {
|
||||
return topic;
|
||||
}
|
||||
|
||||
public MQTTBrokerConnectionConfiguration(OutputEventAdapterConfiguration eventAdapterConfiguration,
|
||||
Map<String, String> globalProperties) {
|
||||
adapterName = eventAdapterConfiguration.getName();
|
||||
@ -123,7 +130,10 @@ public class MQTTBrokerConnectionConfiguration {
|
||||
this.qos = Integer.parseInt(qosVal);
|
||||
}
|
||||
|
||||
|
||||
String topic = eventAdapterConfiguration.getStaticProperties().get(MQTTEventAdapterConstants.ADAPTER_MESSAGE_TOPIC);
|
||||
if (!StringUtils.isEmpty(topic)) {
|
||||
this.topic = topic;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>cdmf-transport-adapters</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>cdmf-transport-adapters</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -74,7 +74,7 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
|
||||
private static final String APPLICATION_NAME = "websocket-app";
|
||||
private static final String PASSWORD_GRANT_TYPE = "password";
|
||||
private static final String REFRESH_GRANT_TYPE = "refresh_token";
|
||||
private static final String REQUIRED_SCOPE = "perm:authorization:verify";
|
||||
private static final String REQUIRED_SCOPE = "dm:authorization:verify";
|
||||
private ApiApplicationRegistrationService apiApplicationRegistrationService;
|
||||
private TokenIssuerService tokenIssuerService;
|
||||
private ApiApplicationKey apiApplicationKey;
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>cdmf-transport-adapters</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>extensions</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>emqx-extensions</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@ -74,6 +74,11 @@
|
||||
<artifactId>io.entgra.device.mgt.core.device.mgt.core</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.ops4j.pax.logging</groupId>
|
||||
<artifactId>pax-logging-api</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<extensions>
|
||||
|
||||
@ -23,6 +23,12 @@ import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.protobuf.ByteString;
|
||||
import com.google.protobuf.GeneratedMessageV3;
|
||||
import io.entgra.device.mgt.core.device.mgt.common.DeviceIdentifier;
|
||||
import io.entgra.device.mgt.core.device.mgt.common.EnrolmentInfo;
|
||||
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
|
||||
import io.entgra.device.mgt.core.device.mgt.core.config.DeviceConfigurationManager;
|
||||
import io.entgra.device.mgt.core.device.mgt.core.config.keymanager.KeyManagerConfigurations;
|
||||
import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProviderService;
|
||||
import io.grpc.Server;
|
||||
import io.grpc.ServerBuilder;
|
||||
import io.grpc.stub.StreamObserver;
|
||||
@ -34,15 +40,8 @@ import org.apache.http.HttpStatus;
|
||||
import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.entity.ContentType;
|
||||
import org.apache.http.entity.StringEntity;
|
||||
import io.entgra.device.mgt.core.device.mgt.core.config.DeviceConfigurationManager;
|
||||
import io.entgra.device.mgt.core.device.mgt.core.config.keymanager.KeyManagerConfigurations;
|
||||
import io.entgra.device.mgt.core.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||
import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProviderService;
|
||||
import io.entgra.device.mgt.core.device.mgt.common.EnrolmentInfo;
|
||||
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
|
||||
import io.entgra.device.mgt.core.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.context.CarbonContext;
|
||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@ -110,7 +109,7 @@ public class ExServer {
|
||||
|
||||
|
||||
public void DEBUG(String fn, Object req) {
|
||||
System.out.printf(fn + ", request: " + req);
|
||||
logger.debug(fn + ", request: " + req);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -493,8 +492,7 @@ public class ExServer {
|
||||
|
||||
@Override
|
||||
public void onMessagePublish(MessagePublishRequest request, StreamObserver<ValuedResponse> responseObserver) {
|
||||
DEBUG("onMessagePublish", request);
|
||||
|
||||
logger.info("onMessagePublish");
|
||||
ByteString bstr = ByteString.copyFromUtf8("hardcode payload by exhook-svr-java :)");
|
||||
|
||||
Message nmsg = Message.newBuilder()
|
||||
@ -538,7 +536,7 @@ public class ExServer {
|
||||
|
||||
@Override
|
||||
public void onMessageDelivered(MessageDeliveredRequest request, StreamObserver<EmptySuccess> responseObserver) {
|
||||
DEBUG("onMessageDelivered", request);
|
||||
logger.info("onMessageDelivered");
|
||||
EmptySuccess reply = EmptySuccess.newBuilder().build();
|
||||
responseObserver.onNext(reply);
|
||||
responseObserver.onCompleted();
|
||||
@ -554,10 +552,11 @@ public class ExServer {
|
||||
|
||||
@Override
|
||||
public void onMessageDropped(MessageDroppedRequest request, StreamObserver<EmptySuccess> responseObserver) {
|
||||
DEBUG("onMessageDropped", request);
|
||||
logger.info("onMessageDropped ---------------------------------------------------------------");
|
||||
EmptySuccess reply = EmptySuccess.newBuilder().build();
|
||||
responseObserver.onNext(reply);
|
||||
responseObserver.onCompleted();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>emqx-extensions</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>extensions</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ import javax.ws.rs.core.Response;
|
||||
@Scope(
|
||||
name = "Getting Details of Topics",
|
||||
description = "Getting Details of Topics",
|
||||
key = "perm:admin:topics:view",
|
||||
key = "dm:admin:topics:view",
|
||||
permissions = {"/device-mgt/topics/view"}
|
||||
)
|
||||
}
|
||||
@ -82,7 +82,7 @@ public interface MQTTManagementAdminService {
|
||||
tags = "MQTT Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = Constants.SCOPE, value = "perm:admin:topics:view")
|
||||
@ExtensionProperty(name = Constants.SCOPE, value = "dm:admin:topics:view")
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
@ -58,7 +58,7 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
|
||||
private static final String APPLICATION_NAME = "mqtt_broker";
|
||||
private static final String PASSWORD_GRANT_TYPE = "password";
|
||||
private static final String REFRESH_GRANT_TYPE = "refresh_token";
|
||||
private static final String REQUIRED_SCOPE = "perm:authorization:verify";
|
||||
private static final String REQUIRED_SCOPE = "dm:authorization:verify";
|
||||
private ApiApplicationRegistrationService apiApplicationRegistrationService;
|
||||
private TokenIssuerService tokenIssuerService;
|
||||
private static Log log = LogFactory.getLog(OAuthRequestInterceptor.class);
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>pull-notification-listeners</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>extensions</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>siddhi-extensions</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ import io.entgra.device.mgt.plugins.extension.siddhi.device.utils.DeviceUtils;
|
||||
public class OAuthRequestInterceptor implements RequestInterceptor {
|
||||
|
||||
private static final String APPLICATION_NAME = "siddhi_extension_client";
|
||||
private static final String REQUIRED_SCOPES = "perm:devices:operations";
|
||||
private static final String REQUIRED_SCOPES = "dm:devices:ops:view";
|
||||
private static final String[] API_TAGS = {"device_management"};
|
||||
private DCRService dcrService;
|
||||
private static OAuthApplication oAuthApplication;
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>siddhi-extensions</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>extensions</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<parent>
|
||||
<artifactId>android-plugin</artifactId>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -70,182 +70,182 @@ import java.util.List;
|
||||
@Scope(
|
||||
name = "Lock Device",
|
||||
description = "Hard lock own device",
|
||||
key = "perm:android:lock-devices",
|
||||
key = "and:ops:lock-devices",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/lock"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Unlock Device",
|
||||
description = "Unlock permanently locked device",
|
||||
key = "perm:android:unlock-devices",
|
||||
key = "and:ops:unlock-devices",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/unlock"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Get Location",
|
||||
description = "Request device location coordinates",
|
||||
key = "perm:android:location",
|
||||
key = "and:ops:location",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/location"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Clear Password",
|
||||
description = "Clear the password on Android devices",
|
||||
key = "perm:android:clear-password",
|
||||
key = "and:ops:clear-password",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/clear-password"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Control Camera",
|
||||
description = "Enabling or Disabling the Camera on Android Devices",
|
||||
key = "perm:android:control-camera",
|
||||
key = "and:ops:control-camera",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/camera"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Get Info",
|
||||
description = "Requesting device information from Android Devices",
|
||||
key = "perm:android:info",
|
||||
key = "and:ops:device-info",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/info"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Get Logs",
|
||||
description = "Requesting Logcat Details from Android Devices",
|
||||
key = "perm:android:logcat",
|
||||
key = "and:ops:logcat",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/logcat"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Enterprise Wipe",
|
||||
description = "Enterprise Wiping Android Devices",
|
||||
key = "perm:android:enterprise-wipe",
|
||||
key = "and:ops:enterprise-wipe",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/enterprise-wipe"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Factory Reset",
|
||||
description = "Factory Resetting Android Devices",
|
||||
key = "perm:android:wipe",
|
||||
key = "and:ops:wipe",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/wipe"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Get Installed Applications",
|
||||
description = "Get list of installed applications",
|
||||
key = "perm:android:applications",
|
||||
key = "and:ops:app-list",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/applications"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Ring Device",
|
||||
description = "Ring Android devices",
|
||||
key = "perm:android:ring",
|
||||
key = "and:ops:ring",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/ring"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Reboot Device",
|
||||
description = "Reboot Android devices",
|
||||
key = "perm:android:reboot",
|
||||
key = "and:ops:reboot",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/reboot"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Mute Device",
|
||||
description = "Mute Android devices",
|
||||
key = "perm:android:mute",
|
||||
key = "and:ops:mute",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/mute"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Install Applications",
|
||||
description = "Installing an Application on Android Devices",
|
||||
key = "perm:android:install-application",
|
||||
key = "and:ops:install-app",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/install-app"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Update Applications",
|
||||
description = "Updating an Application on Android Devices",
|
||||
key = "perm:android:update-application",
|
||||
key = "and:ops:update-app",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/update-app"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Uninstall Applications",
|
||||
description = "Uninstalling an Application on Android Devices",
|
||||
key = "perm:android:uninstall-application",
|
||||
key = "and:ops:uninstall-app",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/uninstall-app"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Blacklist Applications",
|
||||
description = "Blacklisting applications on Android Devices",
|
||||
key = "perm:android:blacklist-applications",
|
||||
key = "and:ops:blacklist-app",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/blacklist-app"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Upgrade Firmware",
|
||||
description = "Upgrading Firmware of Android Devices",
|
||||
key = "perm:android:upgrade-firmware",
|
||||
key = "and:ops:upgrade-firmware",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/upgrade"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Configure VPN",
|
||||
description = "Configure VPN on Android Device",
|
||||
key = "perm:android:configure-vpn",
|
||||
key = "and:ops:configure-vpn",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/vpn"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Send Notification",
|
||||
description = "Sending a notification to Android Device",
|
||||
key = "perm:android:send-notification",
|
||||
key = "and:ops:send-notif",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/send-notification"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Configure Wi-Fi",
|
||||
description = "Configure Wi-Fi on Android Device",
|
||||
key = "perm:android:configure-wifi",
|
||||
key = "and:ops:configure-wifi",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/wifi"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Encrypt Storage",
|
||||
description = "Encrypting storage on Android Device",
|
||||
key = "perm:android:encrypt-storage",
|
||||
key = "and:ops:encrypt-storage",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/encrypt"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Change Password",
|
||||
description = "Changing the lock code of an Android Device",
|
||||
key = "perm:android:change-lock-code",
|
||||
key = "and:ops:change-lock-code",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/change-lock-code"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Password Policy",
|
||||
description = "Set password policy of an Android Device",
|
||||
key = "perm:android:set-password-policy",
|
||||
key = "and:ops:password-policy",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/password-policy"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Add Web clip",
|
||||
description = "Setting a Web Clip on Android Devices",
|
||||
key = "perm:android:set-webclip",
|
||||
key = "and:ops:set-webclip",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/webclip"}
|
||||
),
|
||||
@Scope(
|
||||
name = "File Transfer",
|
||||
description = "Transferring a file to android devices",
|
||||
key = "perm:android:file-transfer",
|
||||
key = "and:ops:file-transfer",
|
||||
roles = {"Internal/devicemgt-admin"},
|
||||
permissions = {"/device-mgt/devices/owning-device/operations/android/file-transfer"}
|
||||
)
|
||||
@ -265,7 +265,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:file-transfer")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:file-transfer")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -326,7 +326,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:lock-devices")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:lock-devices")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -389,7 +389,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:unlock-devices")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:unlock-devices")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -452,7 +452,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:location")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:location")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -511,7 +511,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:clear-password")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:clear-password")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -569,7 +569,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:control-camera")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:control-camera")
|
||||
})
|
||||
})
|
||||
@ApiResponses(value = {
|
||||
@ -634,7 +634,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:info")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:device-info")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -697,7 +697,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:logcat")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:logcat")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -759,7 +759,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enterprise-wipe")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:enterprise-wipe")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -819,7 +819,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:wipe")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:wipe")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -883,7 +883,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:applications")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:app-list")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -943,7 +943,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:ring")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:ring")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1003,7 +1003,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:reboot")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:reboot")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1063,7 +1063,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:mute")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:mute")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1125,7 +1125,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:install-application")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:install-app")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1190,7 +1190,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:update-application")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:update-app")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1252,7 +1252,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:uninstall-application")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:uninstall-app")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1318,7 +1318,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:blacklist-applications")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:blacklist-app")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1380,7 +1380,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:upgrade-firmware")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:upgrade-firmware")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1444,7 +1444,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:configure-vpn")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:configure-vpn")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1504,7 +1504,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:send-notification")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:send-notif")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1565,7 +1565,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:configure-wifi")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:configure-wifi")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1627,7 +1627,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:encrypt-storage")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:encrypt-storage")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1689,7 +1689,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:change-lock-code")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:change-lock-code")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1751,7 +1751,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:set-password-policy")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:password-policy")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -1811,7 +1811,7 @@ public interface DeviceManagementAdminService {
|
||||
tags = "Android Device Management Administrative Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:set-webclip")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:set-webclip")
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
@ -69,14 +69,14 @@ import java.util.List;
|
||||
@Scope(
|
||||
name = "Enroll Device",
|
||||
description = "Register an Android device",
|
||||
key = "perm:android:enroll",
|
||||
key = "and:devices:enroll",
|
||||
roles = {"Internal/devicemgt-user"},
|
||||
permissions = {"/device-mgt/devices/enroll/android"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Un-enroll Device",
|
||||
description = "Unregister an Android device",
|
||||
key = "perm:android:disenroll",
|
||||
key = "and:devices:disenroll",
|
||||
roles = {"Internal/devicemgt-user"},
|
||||
permissions = {"/device-mgt/devices/disenroll/android"}
|
||||
)
|
||||
@ -95,7 +95,7 @@ public interface DeviceManagementService {
|
||||
tags = "Android Device Management",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -160,7 +160,7 @@ public interface DeviceManagementService {
|
||||
tags = "Android Device Management",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -221,7 +221,7 @@ public interface DeviceManagementService {
|
||||
tags = "Android Device Management",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -283,7 +283,7 @@ public interface DeviceManagementService {
|
||||
tags = "Android Device Management",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -338,7 +338,7 @@ public interface DeviceManagementService {
|
||||
tags = "Android Device Management",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -391,7 +391,7 @@ public interface DeviceManagementService {
|
||||
tags = "Android Device Management",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -447,7 +447,7 @@ public interface DeviceManagementService {
|
||||
tags = "Android Device Management",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:disenroll")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:disenroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
@ -66,23 +66,23 @@ import javax.ws.rs.core.Response;
|
||||
@Scope(
|
||||
name = "Enroll Device",
|
||||
description = "Register an Android device",
|
||||
key = "perm:android:enroll",
|
||||
key = "and:devices:enroll",
|
||||
roles = {"Internal/devicemgt-user"},
|
||||
permissions = {"/device-mgt/devices/enroll/android"}
|
||||
),
|
||||
@Scope(
|
||||
name = "View Configurations",
|
||||
description = "Getting Android Platform Configurations",
|
||||
key = "perm:android:view-configuration",
|
||||
key = "and:conf:view",
|
||||
roles = {"Internal/devicemgt-user"},
|
||||
permissions = {"/device-mgt/devices/enroll/android"}
|
||||
permissions = {"/device-mgt/platform-configurations/android/view"}
|
||||
),
|
||||
@Scope(
|
||||
name = "Manage Configurations",
|
||||
description = "Updating Android Platform Configurations",
|
||||
key = "perm:android:manage-configuration",
|
||||
key = "and:conf:manage",
|
||||
roles = {"Internal/devicemgt-user"},
|
||||
permissions = {"/device-mgt/platform-configurations/manage"}
|
||||
permissions = {"/device-mgt/platform-configurations/android/manage"}
|
||||
)
|
||||
}
|
||||
)
|
||||
@ -98,7 +98,7 @@ public interface DeviceTypeConfigurationService {
|
||||
tags = "Android Configuration Management",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:view-configuration")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:conf:view")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -152,7 +152,7 @@ public interface DeviceTypeConfigurationService {
|
||||
tags = "Android Configuration Management",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:manage-configuration")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:conf:manage")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -207,7 +207,7 @@ public interface DeviceTypeConfigurationService {
|
||||
tags = "Android Configuration Management",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
@ -66,7 +66,7 @@ import javax.ws.rs.core.Response;
|
||||
@Scope(
|
||||
name = "Enroll Device",
|
||||
description = "Register an Android device",
|
||||
key = "perm:android:enroll",
|
||||
key = "and:devices:enroll",
|
||||
roles = {"Internal/devicemgt-user"},
|
||||
permissions = {"/device-mgt/devices/enroll/android"}
|
||||
)
|
||||
@ -85,7 +85,7 @@ public interface EventReceiverService {
|
||||
tags = "Event Receiver",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ -148,7 +148,7 @@ public interface EventReceiverService {
|
||||
tags = "Event Receiver",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
|
||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<parent>
|
||||
<artifactId>android-plugin</artifactId>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<parent>
|
||||
<artifactId>android-plugin</artifactId>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -6,36 +6,36 @@
|
||||
"analyticsEnabled": "false",
|
||||
"groupingEnabled": "true",
|
||||
"scopes" : [
|
||||
"perm:android:file-transfer",
|
||||
"perm:android:enroll",
|
||||
"perm:android:wipe",
|
||||
"perm:android:ring",
|
||||
"perm:android:lock-devices",
|
||||
"perm:android:configure-vpn",
|
||||
"perm:android:configure-wifi",
|
||||
"perm:android:enroll",
|
||||
"perm:android:uninstall-application",
|
||||
"perm:android:manage-configuration",
|
||||
"perm:android:location",
|
||||
"perm:android:install-application",
|
||||
"perm:android:mute",
|
||||
"perm:android:change-lock-code",
|
||||
"perm:android:blacklist-applications",
|
||||
"perm:android:set-password-policy",
|
||||
"perm:android:encrypt-storage",
|
||||
"perm:android:clear-password",
|
||||
"perm:android:enterprise-wipe",
|
||||
"perm:android:info",
|
||||
"perm:android:view-configuration",
|
||||
"perm:android:upgrade-firmware",
|
||||
"perm:android:set-webclip",
|
||||
"perm:android:send-notification",
|
||||
"perm:android:disenroll",
|
||||
"perm:android:update-application",
|
||||
"perm:android:unlock-devices",
|
||||
"perm:android:control-camera",
|
||||
"perm:android:reboot",
|
||||
"perm:android:logcat"
|
||||
"and:ops:file-transfer",
|
||||
"and:devices:enroll",
|
||||
"and:ops:wipe",
|
||||
"and:ops:ring",
|
||||
"and:ops:lock-devices",
|
||||
"and:ops:configure-vpn",
|
||||
"and:ops:configure-wifi",
|
||||
"and:devices:enroll",
|
||||
"and:ops:uninstall-app",
|
||||
"and:conf:manage",
|
||||
"and:ops:location",
|
||||
"and:ops:install-app",
|
||||
"and:ops:mute",
|
||||
"and:ops:change-lock-code",
|
||||
"and:ops:blacklist-app",
|
||||
"and:ops:password-policy",
|
||||
"and:ops:encrypt-storage",
|
||||
"and:ops:clear-password",
|
||||
"and:ops:enterprise-wipe",
|
||||
"and:ops:device-info",
|
||||
"and:conf:view",
|
||||
"and:ops:upgrade-firmware",
|
||||
"and:ops:set-webclip",
|
||||
"and:ops:send-notif",
|
||||
"and:devices:disenroll",
|
||||
"and:ops:update-app",
|
||||
"and:ops:unlock-devices",
|
||||
"and:ops:control-camera",
|
||||
"and:ops:reboot",
|
||||
"and:ops:logcat"
|
||||
],
|
||||
"features": {
|
||||
"DEVICE_RING": {
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>android-plugin</artifactId>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>mobile-plugins</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>analytics-feature</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>virtual-fire-alarm-plugin-feature</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>device-types-feature</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>extensions-feature</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>extensions-feature</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>extensions-feature</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>extensions-feature</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>android-plugin-feature</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>mobile-plugins-feature</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
6
pom.xml
6
pom.xml
@ -23,7 +23,7 @@
|
||||
<groupId>io.entgra.device.mgt.plugins</groupId>
|
||||
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>6.0.20-SNAPSHOT</version>
|
||||
<version>6.0.22-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - Device Management Plugins Parent</name>
|
||||
<url>http://entgra.io</url>
|
||||
<description>WSO2 Carbon - Device Management Plugins Parent</description>
|
||||
@ -953,11 +953,11 @@
|
||||
<properties>
|
||||
|
||||
<!-- Carbon Device Management -->
|
||||
<io.entgra.device.mgt.core.version>5.0.29-SNAPSHOT</io.entgra.device.mgt.core.version>
|
||||
<io.entgra.device.mgt.core.version>5.0.31-SNAPSHOT</io.entgra.device.mgt.core.version>
|
||||
<io.entgra.device.mgt.core.version.range>[5.0.0, 6.0.0)</io.entgra.device.mgt.core.version.range>
|
||||
|
||||
<!-- Carbon Device Management Plugins -->
|
||||
<io.entgra.device.mgt.plugins.version>6.0.20-SNAPSHOT</io.entgra.device.mgt.plugins.version>
|
||||
<io.entgra.device.mgt.plugins.version>6.0.22-SNAPSHOT</io.entgra.device.mgt.plugins.version>
|
||||
|
||||
<!-- Android Agent Artifact Version-->
|
||||
<android.agent.version>4.0.0</android.agent.version>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user