mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'release-2.0.x' of https://github.com/wso2/carbon-device-mgt into release-2.0.x
This commit is contained in:
commit
e8d8373d46
@ -65,7 +65,8 @@ public class ApiApplicationRegistrationServiceImpl implements ApiApplicationRegi
|
||||
APIManagementProviderService apiManagementProviderService = APIUtil.getAPIManagementProviderService();
|
||||
ApiApplicationKey apiApplicationKey = apiManagementProviderService.generateAndRetrieveApplicationKeys(
|
||||
applicationName, APIUtil.getAllowedApisTags().toArray(new String[APIUtil.getAllowedApisTags().size()]),
|
||||
ApiApplicationConstants.DEFAULT_TOKEN_TYPE, username, false);
|
||||
ApiApplicationConstants.DEFAULT_TOKEN_TYPE, username, false,
|
||||
ApiApplicationConstants.DEFAULT_VALIDITY_PERIOD);
|
||||
return Response.status(Response.Status.CREATED).entity(apiApplicationKey.toString()).build();
|
||||
} catch (APIManagerException e) {
|
||||
String msg = "Error occurred while registering an application '" + applicationName + "'";
|
||||
@ -97,6 +98,12 @@ public class ApiApplicationRegistrationServiceImpl implements ApiApplicationRegi
|
||||
}
|
||||
String username = APIUtil.getAuthenticatedUser() + "@" + APIUtil.getTenantDomainOftheUser();
|
||||
APIManagementProviderService apiManagementProviderService = APIUtil.getAPIManagementProviderService();
|
||||
String validityPeriod;
|
||||
if (registrationProfile.getValidityPeriod() == null) {
|
||||
validityPeriod = ApiApplicationConstants.DEFAULT_VALIDITY_PERIOD;
|
||||
} else {
|
||||
validityPeriod = registrationProfile.getValidityPeriod();
|
||||
}
|
||||
if (registrationProfile.isMappingAnExistingOAuthApp()) {
|
||||
JSONObject jsonStringObject = new JSONObject();
|
||||
jsonStringObject.put(ApiApplicationConstants.JSONSTRING_USERNAME_TAG, username);
|
||||
@ -105,13 +112,7 @@ public class ApiApplicationRegistrationServiceImpl implements ApiApplicationRegi
|
||||
jsonStringObject.put(ApiApplicationConstants.OAUTH_CLIENT_ID, registrationProfile.getConsumerKey());
|
||||
jsonStringObject.put(ApiApplicationConstants.OAUTH_CLIENT_SECRET,
|
||||
registrationProfile.getConsumerSecret());
|
||||
if (registrationProfile.getValidityPeriod() == 0) {
|
||||
jsonStringObject.put(ApiApplicationConstants.JSONSTRING_VALIDITY_PERIOD_TAG,
|
||||
ApiApplicationConstants.DEFAULT_VALIDITY_PERIOD);
|
||||
} else {
|
||||
jsonStringObject.put(ApiApplicationConstants.JSONSTRING_VALIDITY_PERIOD_TAG,
|
||||
registrationProfile.getValidityPeriod());
|
||||
}
|
||||
jsonStringObject.put(ApiApplicationConstants.JSONSTRING_VALIDITY_PERIOD_TAG, validityPeriod);
|
||||
apiManagementProviderService.registerExistingOAuthApplicationToAPIApplication(
|
||||
jsonStringObject.toJSONString(), registrationProfile.getApplicationName(),
|
||||
registrationProfile.getConsumerKey(), username, registrationProfile.isAllowedToAllDomains(),
|
||||
@ -120,7 +121,8 @@ public class ApiApplicationRegistrationServiceImpl implements ApiApplicationRegi
|
||||
} else {
|
||||
ApiApplicationKey apiApplicationKey = apiManagementProviderService.generateAndRetrieveApplicationKeys(
|
||||
registrationProfile.getApplicationName(), registrationProfile.getTags(),
|
||||
ApiApplicationConstants.DEFAULT_TOKEN_TYPE, username, false);
|
||||
ApiApplicationConstants.DEFAULT_TOKEN_TYPE, username,
|
||||
registrationProfile.isAllowedToAllDomains(), validityPeriod);
|
||||
return Response.status(Response.Status.CREATED).entity(apiApplicationKey.toString()).build();
|
||||
}
|
||||
} catch (APIManagerException e) {
|
||||
|
||||
@ -42,7 +42,7 @@ public class RegistrationProfile {
|
||||
private String consumerKey;
|
||||
private String consumerSecret;
|
||||
@XmlElement(required = false)
|
||||
private int validityPeriod;
|
||||
private String validityPeriod;
|
||||
|
||||
public String getApplicationName() {
|
||||
return applicationName;
|
||||
@ -92,11 +92,11 @@ public class RegistrationProfile {
|
||||
this.consumerSecret = consumerSecret;
|
||||
}
|
||||
|
||||
public int getValidityPeriod() {
|
||||
public String getValidityPeriod() {
|
||||
return validityPeriod;
|
||||
}
|
||||
|
||||
public void setValidityPeriod(int validityPeriod) {
|
||||
public void setValidityPeriod(String validityPeriod) {
|
||||
this.validityPeriod = validityPeriod;
|
||||
}
|
||||
}
|
||||
|
||||
@ -34,11 +34,14 @@ public interface APIManagementProviderService {
|
||||
* @param tags tags of the apis that application needs to be subscribed.
|
||||
* @param keyType of the application.
|
||||
* @param username to whom the application is created
|
||||
* @param isAllowedAllDomains application is allowed to all the tenants
|
||||
* @param validityTime validity period of the application
|
||||
* @return consumerkey and secrete of the created application.
|
||||
* @throws APIManagerException
|
||||
*/
|
||||
ApiApplicationKey generateAndRetrieveApplicationKeys(String apiApplicationName, String tags[],
|
||||
String keyType, String username, boolean isAllowedAllDomains)
|
||||
String keyType, String username, boolean isAllowedAllDomains,
|
||||
String validityTime)
|
||||
throws APIManagerException;
|
||||
|
||||
/**
|
||||
|
||||
@ -133,7 +133,7 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe
|
||||
@Override
|
||||
public ApiApplicationKey generateAndRetrieveApplicationKeys(String apiApplicationName, String tags[],
|
||||
String keyType, String username,
|
||||
boolean isAllowedAllDomains)
|
||||
boolean isAllowedAllDomains, String validityTime)
|
||||
throws APIManagerException {
|
||||
try {
|
||||
APIManagerUtil.loadTenantRegistry();
|
||||
@ -172,7 +172,6 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe
|
||||
} else {
|
||||
allowedDomains[0] = APIManagerUtil.getTenantDomain();
|
||||
}
|
||||
String validityTime = "3600";
|
||||
String ownerJsonString = "{\"username\":\"" + username + "\"}";
|
||||
Map<String, Object> keyDetails = apiConsumer.requestApprovalForApplicationRegistration(username,
|
||||
apiApplicationName,
|
||||
|
||||
@ -167,14 +167,14 @@ var utils = function () {
|
||||
|
||||
// register a tenant based app at API Manager
|
||||
var applicationName = "websocket_webapp_" + tenantDomain;
|
||||
var requestURL = deviceMgtProps["oauthProvider"]["appRegistration"]
|
||||
["apiManagerClientAppRegistrationServiceURL"] +
|
||||
"?tenantDomain=" + tenantDomain + "&applicationName=" + applicationName;
|
||||
var requestURL = (deviceMgtProps["oauthProvider"]["appRegistration"]
|
||||
["apiManagerClientAppRegistrationServiceURL"]).replace("/tenants","");
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("POST", requestURL, false);
|
||||
xhr.setRequestHeader("Content-Type", "application/json");
|
||||
xhr.setRequestHeader("X-JWT-Assertion", "" + jwtToken);
|
||||
xhr.send();
|
||||
xhr.send(stringify({applicationName:applicationName, tags:["device_management"],
|
||||
isAllowedToAllDomains:false, isMappingAnExistingOAuthApp:false, validityPeriod: 3600}));
|
||||
if (xhr["status"] == 201 && xhr["responseText"]) {
|
||||
var responsePayload = parse(xhr["responseText"]);
|
||||
var tenantTenantBasedWebsocketClientAppCredentials = {};
|
||||
|
||||
@ -6,9 +6,9 @@
|
||||
<i class="square-element text fw fw-document"></i>
|
||||
</div>
|
||||
</td>
|
||||
<td class="fade-edge remove-padding-top" data-search="{{serialNumber}}" data-display="{{serialNumber}}"><i
|
||||
<td class="remove-padding-top" data-search="{{serialNumber}}" data-display="{{serialNumber}}"><i
|
||||
class="fw-mobile"></i> {{serialNumber}}</td>
|
||||
<td class="fade-edge remove-padding-top" data-search="{{subject}}" data-display="{{subject}}"><i
|
||||
<td class="remove-padding-top" data-search="{{subject}}" data-display="{{subject}}"><i
|
||||
class="fw-policy"></i> {{subject}}</td>
|
||||
<td class="text-right content-fill text-left-on-grid-view no-wrap">
|
||||
{{#unequal adminUser serialNumber }}
|
||||
|
||||
@ -12,21 +12,21 @@
|
||||
<i class="square-element text fw fw-mobile"></i>
|
||||
</div>
|
||||
</td>
|
||||
<td class="fade-edge" data-search="{{properties.DEVICE_MODEL}},{{properties.VENDOR}}" data-display="{{properties.DEVICE_MODEL}}">
|
||||
<td data-search="{{properties.DEVICE_MODEL}},{{properties.VENDOR}}" data-display="{{properties.DEVICE_MODEL}}">
|
||||
<h4>Device {{name}}</h4>
|
||||
{{#if properties.DEVICE_MODEL}}
|
||||
<div>({{properties.VENDOR}} - {{properties.DEVICE_MODEL}})</div>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="fade-edge remove-padding-top" data-search="{{enrolmentInfo.owner}}" data-display="{{enrolmentInfo.owner}}" data-grid-label="Owner">{{enrolmentInfo.owner}}</td>
|
||||
<td class="fade-edge remove-padding-top" data-search="{{enrolmentInfo.status}}" data-display="{{enrolmentInfo.status}}" data-grid-label="Status">
|
||||
<td class="remove-padding-top" data-search="{{enrolmentInfo.owner}}" data-display="{{enrolmentInfo.owner}}" data-grid-label="Owner">{{enrolmentInfo.owner}}</td>
|
||||
<td class="remove-padding-top" data-search="{{enrolmentInfo.status}}" data-display="{{enrolmentInfo.status}}" data-grid-label="Status">
|
||||
{{#equal enrolmentInfo.status "ACTIVE"}}<span><i class="fw fw-ok icon-success"></i> Active</span>{{/equal}}
|
||||
{{#equal enrolmentInfo.status "INACTIVE"}}<span><i class="fw fw-warning icon-warning"></i> Inactive</span>{{/equal}}
|
||||
{{#equal enrolmentInfo.status "BLOCKED"}}<span><i class="fw fw-remove icon-danger"></i> Blocked</span>{{/equal}}
|
||||
{{#equal enrolmentInfo.status "REMOVED"}}<span><i class="fw fw-delete icon-danger"></i> Removed</span>{{/equal}}
|
||||
</td>
|
||||
<td class="fade-edge remove-padding-top" data-search="{{type}}" data-display="{{type}}" data-grid-label="Type">{{type}}</td>
|
||||
<td class="fade-edge remove-padding-top" data-search="{{enrolmentInfo.ownership}}" data-display="{{enrolmentInfo.ownership}}" data-grid-label="Ownership">{{enrolmentInfo.ownership}}</td>
|
||||
<td class="remove-padding-top" data-search="{{type}}" data-display="{{type}}" data-grid-label="Type">{{type}}</td>
|
||||
<td class="remove-padding-top" data-search="{{enrolmentInfo.ownership}}" data-display="{{enrolmentInfo.ownership}}" data-grid-label="Ownership">{{enrolmentInfo.ownership}}</td>
|
||||
<td class="text-right content-fill text-left-on-grid-view no-wrap">
|
||||
<!--{{#equal type "TemperatureController"}}
|
||||
{{#equal status "INACTIVE"}}
|
||||
|
||||
@ -265,7 +265,7 @@ function loadDevices(searchType, searchParam) {
|
||||
{
|
||||
targets: 1,
|
||||
data: 'name',
|
||||
class: 'fade-edge',
|
||||
class: '',
|
||||
render: function (name, type, row, meta) {
|
||||
var model = getPropertyValue(row.properties, 'DEVICE_MODEL');
|
||||
var vendor = getPropertyValue(row.properties, 'VENDOR');
|
||||
@ -279,12 +279,12 @@ function loadDevices(searchType, searchParam) {
|
||||
{
|
||||
targets: 2,
|
||||
data: 'user',
|
||||
class: 'fade-edge remove-padding-top',
|
||||
class: 'remove-padding-top',
|
||||
},
|
||||
{
|
||||
targets: 3,
|
||||
data: 'status',
|
||||
class: 'fade-edge remove-padding-top',
|
||||
class: 'remove-padding-top',
|
||||
render: function (status, type, row, meta) {
|
||||
var html;
|
||||
switch (status) {
|
||||
@ -307,7 +307,7 @@ function loadDevices(searchType, searchParam) {
|
||||
{
|
||||
targets: 4,
|
||||
data: 'deviceType',
|
||||
class: 'fade-edge remove-padding-top',
|
||||
class: 'remove-padding-top',
|
||||
render: function (status, type, row, meta) {
|
||||
return getDeviceTypeLabel(row.deviceType);
|
||||
}
|
||||
@ -315,7 +315,7 @@ function loadDevices(searchType, searchParam) {
|
||||
{
|
||||
targets: 5,
|
||||
data: 'ownership',
|
||||
class: 'fade-edge remove-padding-top',
|
||||
class: 'remove-padding-top',
|
||||
render: function (status, type, row, meta) {
|
||||
if (getDeviceTypeCategory(row.deviceType) == 'mobile') {
|
||||
return row.ownership;
|
||||
|
||||
@ -135,17 +135,17 @@ function loadGroups() {
|
||||
{
|
||||
targets: 1,
|
||||
data: 'name',
|
||||
class: 'fade-edge'
|
||||
class: ''
|
||||
},
|
||||
{
|
||||
targets: 2,
|
||||
data: 'owner',
|
||||
class: 'fade-edge remove-padding-top',
|
||||
class: 'remove-padding-top',
|
||||
},
|
||||
{
|
||||
targets: 3,
|
||||
data: 'description',
|
||||
class: 'fade-edge remove-padding-top',
|
||||
class: 'remove-padding-top',
|
||||
},
|
||||
{
|
||||
targets: 4,
|
||||
|
||||
@ -187,7 +187,7 @@
|
||||
<i class="fw fw-{{deviceTypeIcon}}" style="font-size: 59px"></i>
|
||||
</div>
|
||||
</td>
|
||||
<td class="fade-edge"
|
||||
<td
|
||||
data-search="{{name}}"
|
||||
data-display="{{name}}">
|
||||
<h4>{{name}}</h4>
|
||||
@ -205,35 +205,35 @@
|
||||
<span><i class="fw fw-error icon-danger"></i> Inactive</span>
|
||||
{{/equal}}
|
||||
</td>
|
||||
<td class="fade-edge remove-padding-top"
|
||||
<td class="remove-padding-top"
|
||||
data-search="{{platform}}"
|
||||
data-display="{{platform}}">
|
||||
</td>
|
||||
<td class="fade-edge remove-padding-top"
|
||||
<td class="remove-padding-top"
|
||||
data-search="{{ownershipType}}"
|
||||
data-display="{{ownershipType}}"
|
||||
data-grid-label="Ownership">
|
||||
{{ownershipType}}
|
||||
</td>
|
||||
<td id="policy-roles" class="fade-edge remove-padding-top"
|
||||
<td id="policy-roles" class="remove-padding-top"
|
||||
data-search="{{roles}}"
|
||||
data-display="{{roles}}"
|
||||
data-grid-label="Role(s)">
|
||||
{{roles}}
|
||||
</td>
|
||||
<td id="policy-users" class="fade-edge remove-padding-top"
|
||||
<td id="policy-users" class="remove-padding-top"
|
||||
data-search="{{users}}"
|
||||
data-display="{{users}}"
|
||||
data-grid-label="User(s)">
|
||||
{{users}}
|
||||
</td>
|
||||
<td class="fade-edge remove-padding-top"
|
||||
<td class="remove-padding-top"
|
||||
data-search="{{compliance}}"
|
||||
data-display="{{compliance}}"
|
||||
data-grid-label="Compliance">
|
||||
{{compliance}}
|
||||
</td>
|
||||
<td id="policy-status" class="fade-edge remove-padding-top"
|
||||
<td id="policy-status" class="remove-padding-top"
|
||||
data-search="{{status}}"
|
||||
data-display="{{status}}">
|
||||
</td>
|
||||
|
||||
@ -128,7 +128,7 @@ function loadRoles() {
|
||||
"</div>"
|
||||
},
|
||||
{
|
||||
class: "fade-edge",
|
||||
class: "",
|
||||
data: "name",
|
||||
render: function (name, type, row, meta) {
|
||||
return '<h4>' + name + '</h4>';
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<i class="square-element text fw fw-user"></i>
|
||||
</div>
|
||||
</td>
|
||||
<td class="fade-edge remove-padding-top">{{roleName}}</td>
|
||||
<td class="remove-padding-top">{{roleName}}</td>
|
||||
<td class="text-right content-fill text-left-on-grid-view no-wrap">
|
||||
|
||||
{{#unequal adminRole roleName }}
|
||||
|
||||
@ -304,7 +304,7 @@ function loadUsers() {
|
||||
}
|
||||
},
|
||||
{
|
||||
class: "fade-edge",
|
||||
class: "",
|
||||
data: null,
|
||||
render: function (data, type, row, meta) {
|
||||
if (!data.firstname && !data.lastname) {
|
||||
@ -315,14 +315,14 @@ function loadUsers() {
|
||||
}
|
||||
},
|
||||
{
|
||||
class: "fade-edge remove-padding-top",
|
||||
class: "remove-padding-top",
|
||||
data: 'filter',
|
||||
render: function (filter, type, row, meta) {
|
||||
return '<i class="fw-user"></i>' + filter;
|
||||
}
|
||||
},
|
||||
{
|
||||
class: "fade-edge remove-padding-top",
|
||||
class: "remove-padding-top",
|
||||
data: null,
|
||||
render: function (data, type, row, meta) {
|
||||
if (!data.emailAddress) {
|
||||
|
||||
@ -6,12 +6,12 @@
|
||||
<i class="square-element text fw fw-user"></i>
|
||||
</div>
|
||||
</td>
|
||||
<td class="fade-edge" data-search="{{firstname}},{{lastname}}" data-display="{{firstname}} {{lastname}}">
|
||||
<td data-search="{{firstname}},{{lastname}}" data-display="{{firstname}} {{lastname}}">
|
||||
<h4>{{firstname}} {{lastname}}</h4>
|
||||
</td>
|
||||
<td class="fade-edge remove-padding-top" data-search="{{username}}" data-display="{{username}}"><i
|
||||
<td class="remove-padding-top" data-search="{{username}}" data-display="{{username}}"><i
|
||||
class="fw-user"></i> {{username}}</td>
|
||||
<td class="fade-edge remove-padding-top" data-search="{{emailAddress}}" data-display="{{emailAddress}}">
|
||||
<td class="remove-padding-top" data-search="{{emailAddress}}" data-display="{{emailAddress}}">
|
||||
<a href="mailto:{{emailAddress}}" class="wr-list-email">
|
||||
<i class="fw-mail"></i> {{emailAddress}}
|
||||
</a>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<span class="page-sub-title">Device Types</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span id="device-listing-status-msg"></span>
|
||||
<div class="container-fluid">
|
||||
<table class="table table-striped table-hover list-table no-operations display responsive nowrap data-table grid-view no-toolbar"
|
||||
id="device-type-grid">
|
||||
|
||||
8
pom.xml
8
pom.xml
@ -1808,7 +1808,7 @@
|
||||
<tomcat.jdbc.pooling.version>7.0.34.wso2v2</tomcat.jdbc.pooling.version>
|
||||
|
||||
<!-- Carbon Deployment -->
|
||||
<carbon.deployment.version>4.7.0</carbon.deployment.version>
|
||||
<carbon.deployment.version>4.7.2</carbon.deployment.version>
|
||||
|
||||
<!-- Carbon Identity -->
|
||||
<carbon.identity.framework.version>5.2.2</carbon.identity.framework.version>
|
||||
@ -1816,10 +1816,10 @@
|
||||
<identity.inbound.auth.saml.version>5.1.1</identity.inbound.auth.saml.version>
|
||||
|
||||
<!-- Carbon Multi-tenancy -->
|
||||
<carbon.multitenancy.version>4.6.0</carbon.multitenancy.version>
|
||||
<carbon.multitenancy.version>4.6.1</carbon.multitenancy.version>
|
||||
|
||||
<!-- Carbon Governance -->
|
||||
<carbon.governance.version>4.6.4</carbon.governance.version>
|
||||
<carbon.governance.version>4.6.5</carbon.governance.version>
|
||||
|
||||
<!-- Axiom -->
|
||||
<axiom.version>1.2.11-wso2v10</axiom.version>
|
||||
@ -1845,7 +1845,7 @@
|
||||
<carbon.analytics.common.version.range>[5.1.3,6.0.0)</carbon.analytics.common.version.range>
|
||||
|
||||
<!-- Carbon Registry -->
|
||||
<carbon.registry.version>4.5.6</carbon.registry.version>
|
||||
<carbon.registry.version>4.5.8</carbon.registry.version>
|
||||
<carbon.registry.imp.pkg.version.range>[4.4.8, 5.0.0)</carbon.registry.imp.pkg.version.range>
|
||||
|
||||
<!--CXF properties-->
|
||||
|
||||
Loading…
Reference in New Issue
Block a user