You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2017/03/03 09:04:53 UTC
[4/4] syncope git commit: [SYNCOPE-1035] Adding support for Admin
Console
[SYNCOPE-1035] Adding support for Admin Console
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/7004b84a
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/7004b84a
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/7004b84a
Branch: refs/heads/master
Commit: 7004b84a150f456044e95ac5c83edfa8f8db9c59
Parents: 5cfb727
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Fri Mar 3 10:04:26 2017 +0100
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Fri Mar 3 10:04:38 2017 +0100
----------------------------------------------------------------------
client/console/pom.xml | 5 +
.../client/console/commons/Constants.java | 2 +
.../console/commons/RoleDataProvider.java | 58 -----
.../syncope/client/console/pages/Dashboard.java | 13 +-
.../panels/AccessTokenDirectoryPanel.java | 234 +++++++++++++++++++
.../panels/DashboardAccessTokensPanel.java | 46 ++++
.../console/panels/RoleDirectoryPanel.java | 38 ++-
.../console/rest/AccessTokenRestClient.java | 50 ++++
.../client/console/rest/RoleRestClient.java | 2 +-
.../tasks/NotificationTaskDirectoryPanel.java | 2 +-
.../console/tasks/SchedTaskDirectoryPanel.java | 2 +-
.../console/tasks/TaskDirectoryPanel.java | 2 +-
.../client/console/pages/Dashboard.properties | 1 +
.../console/pages/Dashboard_it.properties | 1 +
.../console/pages/Dashboard_pt_BR.properties | 1 +
.../console/pages/Dashboard_ru.properties | 5 +-
.../panels/AccessTokenDirectoryPanel.properties | 22 ++
.../AccessTokenDirectoryPanel_it.properties | 22 ++
.../AccessTokenDirectoryPanel_pt_BR.properties | 22 ++
.../AccessTokenDirectoryPanel_ru.properties | 23 ++
.../syncope/client/console/panels/AnyPanel.html | 11 +-
.../panels/DashboardAccessTokensPanel.html | 23 ++
.../client/enduser/SyncopeEnduserSession.java | 10 +-
.../client/lib/JWTAuthenticationHandler.java | 4 +-
.../syncope/common/lib/to/AccessTokenTO.java | 10 -
.../SyncopeDigestAuthenticationEntryPoint.java | 43 ----
26 files changed, 521 insertions(+), 131 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/pom.xml
----------------------------------------------------------------------
diff --git a/client/console/pom.xml b/client/console/pom.xml
index 8898a01..f8ec4dc 100644
--- a/client/console/pom.xml
+++ b/client/console/pom.xml
@@ -106,6 +106,11 @@ under the License.
</dependency>
<dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-rs-security-jose</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
index 7ac304d..70fb8ca 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
@@ -99,6 +99,8 @@ public final class Constants {
public static final String PREF_ROLE_PAGINATOR_ROWS = "role.paginator.rows";
+ public static final String PREF_ACCESS_TOKEN_PAGINATOR_ROWS = "accessToken.paginator.rows";
+
public static final String PREF_WORKFLOW_FORM_PAGINATOR_ROWS = "role.paginator.workflow.form";
public static final String PREF_RESOURCES_PAGINATOR_ROWS = "resources.paginator.rows";
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/java/org/apache/syncope/client/console/commons/RoleDataProvider.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/RoleDataProvider.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/RoleDataProvider.java
deleted file mode 100644
index e2b1582..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/RoleDataProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF 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.apache.syncope.client.console.commons;
-
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import org.apache.syncope.client.console.rest.RoleRestClient;
-import org.apache.syncope.common.lib.to.RoleTO;
-import org.apache.wicket.model.CompoundPropertyModel;
-import org.apache.wicket.model.IModel;
-
-public class RoleDataProvider extends DirectoryDataProvider<RoleTO> {
-
- private static final long serialVersionUID = 6267494272884913376L;
-
- private final SortableDataProviderComparator<RoleTO> comparator;
-
- private final RoleRestClient restClient = new RoleRestClient();
-
- public RoleDataProvider(final int paginatorRows) {
- super(paginatorRows);
- this.comparator = new SortableDataProviderComparator<>(this);
- }
-
- @Override
- public Iterator<RoleTO> iterator(final long first, final long count) {
- List<RoleTO> result = restClient.list();
- Collections.sort(result, comparator);
- return result.subList((int) first, (int) first + (int) count).iterator();
- }
-
- @Override
- public long size() {
- return restClient.count();
- }
-
- @Override
- public IModel<RoleTO> model(final RoleTO object) {
- return new CompoundPropertyModel<>(object);
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/java/org/apache/syncope/client/console/pages/Dashboard.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/Dashboard.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/Dashboard.java
index 50a7ae8..eb27288 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/Dashboard.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/Dashboard.java
@@ -24,6 +24,7 @@ import java.util.List;
import org.apache.syncope.client.console.SyncopeConsoleApplication;
import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
import org.apache.syncope.client.console.init.ConsoleInitializer;
+import org.apache.syncope.client.console.panels.DashboardAccessTokensPanel;
import org.apache.syncope.client.console.panels.DashboardControlPanel;
import org.apache.syncope.client.console.panels.DashboardExtensionsPanel;
import org.apache.syncope.client.console.panels.DashboardOverviewPanel;
@@ -61,6 +62,16 @@ public class Dashboard extends BasePage {
}
});
+ tabs.add(new AbstractTab(new ResourceModel("accessTokens")) {
+
+ private static final long serialVersionUID = -6815067322125799251L;
+
+ @Override
+ public Panel getPanel(final String panelId) {
+ return new DashboardAccessTokensPanel(panelId, getPageReference());
+ }
+ });
+
tabs.add(new AbstractTab(new ResourceModel("control")) {
private static final long serialVersionUID = -6815067322125799251L;
@@ -73,7 +84,7 @@ public class Dashboard extends BasePage {
ClassPathScanImplementationLookup classPathScanImplementationLookup =
(ClassPathScanImplementationLookup) SyncopeConsoleApplication.get().
- getServletContext().getAttribute(ConsoleInitializer.CLASSPATH_LOOKUP);
+ getServletContext().getAttribute(ConsoleInitializer.CLASSPATH_LOOKUP);
final List<Class<? extends BaseExtWidget>> extWidgetClasses =
classPathScanImplementationLookup.getExtWidgetClasses();
if (!extWidgetClasses.isEmpty()) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java
new file mode 100644
index 0000000..5b08c29
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java
@@ -0,0 +1,234 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF 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.apache.syncope.client.console.panels;
+
+import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.cxf.rs.security.jose.jws.JwsJwtCompactConsumer;
+import org.apache.syncope.client.console.SyncopeConsoleSession;
+import org.apache.syncope.client.console.commons.Constants;
+import org.apache.syncope.client.console.commons.DirectoryDataProvider;
+import org.apache.syncope.client.console.commons.SortableDataProviderComparator;
+import org.apache.syncope.client.console.pages.BasePage;
+import org.apache.syncope.client.console.panels.AccessTokenDirectoryPanel.AccessTokenDataProvider;
+import org.apache.syncope.client.console.rest.AccessTokenRestClient;
+import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
+import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
+import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
+import org.apache.syncope.client.console.wizards.WizardMgtPanel;
+import org.apache.syncope.common.lib.SyncopeClientException;
+import org.apache.syncope.common.lib.SyncopeConstants;
+import org.apache.syncope.common.lib.to.AccessTokenTO;
+import org.apache.syncope.common.lib.types.StandardEntitlement;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
+import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.repeater.Item;
+import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.ResourceModel;
+
+public class AccessTokenDirectoryPanel
+ extends DirectoryPanel<AccessTokenTO, AccessTokenTO, AccessTokenDataProvider, AccessTokenRestClient> {
+
+ private static final long serialVersionUID = -6903586269155682961L;
+
+ protected AccessTokenDirectoryPanel(final String id, final Builder builder) {
+ super(id, builder);
+
+ setShowResultPage(true);
+
+ modal.size(Modal.Size.Large);
+ initResultTable();
+ }
+
+ @Override
+ protected AccessTokenDataProvider dataProvider() {
+ return new AccessTokenDataProvider(rows);
+ }
+
+ @Override
+ protected String paginatorRowsKey() {
+ return Constants.PREF_ACCESS_TOKEN_PAGINATOR_ROWS;
+ }
+
+ @Override
+ protected List<IColumn<AccessTokenTO, String>> getColumns() {
+ List<IColumn<AccessTokenTO, String>> columns = new ArrayList<>();
+
+ columns.add(new KeyPropertyColumn<AccessTokenTO>(new ResourceModel("key"), "key", "key"));
+
+ columns.add(new PropertyColumn<AccessTokenTO, String>(new ResourceModel("owner"), "owner", "owner"));
+
+ columns.add(new AbstractColumn<AccessTokenTO, String>(new ResourceModel("issuedAt", "")) {
+
+ private static final long serialVersionUID = -1822504503325964706L;
+
+ @Override
+ public void populateItem(
+ final Item<ICellPopulator<AccessTokenTO>> cellItem,
+ final String componentId,
+ final IModel<AccessTokenTO> model) {
+
+ JwsJwtCompactConsumer consumer = new JwsJwtCompactConsumer(model.getObject().getBody());
+ cellItem.add(new Label(componentId,
+ SyncopeConsoleSession.get().getDateFormat().format(
+ new Date(consumer.getJwtClaims().getIssuedAt()))));
+ }
+ });
+
+ columns.add(new DatePropertyColumn<AccessTokenTO>(new ResourceModel("expiryTime"), "expiryTime", "expiryTime"));
+
+ columns.add(new AbstractColumn<AccessTokenTO, String>(new ResourceModel("remoteHost", "")) {
+
+ private static final long serialVersionUID = -1822504503325964706L;
+
+ @Override
+ public void populateItem(
+ final Item<ICellPopulator<AccessTokenTO>> cellItem,
+ final String componentId,
+ final IModel<AccessTokenTO> model) {
+
+ JwsJwtCompactConsumer consumer = new JwsJwtCompactConsumer(model.getObject().getBody());
+ cellItem.add(new Label(componentId,
+ consumer.getJwtClaims().getClaim(SyncopeConstants.JWT_CLAIM_REMOTE_HOST).toString()));
+ }
+ });
+
+ columns.add(new ActionColumn<AccessTokenTO, String>(new ResourceModel("actions", "")) {
+
+ private static final long serialVersionUID = 6532399418012695495L;
+
+ @Override
+ public ActionLinksPanel<AccessTokenTO> getActions(
+ final String componentId, final IModel<AccessTokenTO> model) {
+
+ final ActionLinksPanel.Builder<AccessTokenTO> panel = ActionLinksPanel.builder();
+
+ panel.add(new ActionLink<AccessTokenTO>() {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final AccessTokenTO ignore) {
+ try {
+ restClient.delete(model.getObject().getKey());
+ SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
+ target.add(container);
+ } catch (SyncopeClientException e) {
+ LOG.error("While deleting object {}", model.getObject().getKey(), e);
+ SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage()) ? e.getClass().
+ getName() : e.getMessage());
+ }
+ ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+ }
+ }, ActionLink.ActionType.DELETE, StandardEntitlement.ACCESS_TOKEN_DELETE);
+
+ return panel.build(componentId);
+ }
+
+ @Override
+ public ActionLinksPanel<AccessTokenTO> getHeader(final String componentId) {
+ final ActionLinksPanel.Builder<AccessTokenTO> panel = ActionLinksPanel.builder();
+
+ return panel.add(new ActionLink<AccessTokenTO>() {
+
+ private static final long serialVersionUID = -8766205612892810375L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final AccessTokenTO ignore) {
+ if (target != null) {
+ target.add(container);
+ }
+ }
+ }, ActionLink.ActionType.RELOAD, StandardEntitlement.ACCESS_TOKEN_LIST).build(componentId);
+ }
+ });
+
+ return columns;
+ }
+
+ @Override
+ protected Collection<ActionLink.ActionType> getBulkActions() {
+ return Collections.emptyList();
+ }
+
+ public abstract static class Builder
+ extends DirectoryPanel.Builder<AccessTokenTO, AccessTokenTO, AccessTokenRestClient> {
+
+ private static final long serialVersionUID = 5088962796986706805L;
+
+ public Builder(final PageReference pageRef) {
+ super(new AccessTokenRestClient(), pageRef);
+ }
+
+ @Override
+ protected WizardMgtPanel<AccessTokenTO> newInstance(final String id, final boolean wizardInModal) {
+ return new AccessTokenDirectoryPanel(id, this);
+ }
+ }
+
+ protected class AccessTokenDataProvider extends DirectoryDataProvider<AccessTokenTO> {
+
+ private static final long serialVersionUID = 6267494272884913376L;
+
+ private final SortableDataProviderComparator<AccessTokenTO> comparator;
+
+ private final AccessTokenRestClient restClient = new AccessTokenRestClient();
+
+ public AccessTokenDataProvider(final int paginatorRows) {
+ super(paginatorRows);
+
+ setSort("owner", SortOrder.ASCENDING);
+ this.comparator = new SortableDataProviderComparator<>(this);
+ }
+
+ @Override
+ public Iterator<AccessTokenTO> iterator(final long first, final long count) {
+ int page = ((int) first / paginatorRows);
+ List<AccessTokenTO> tasks = restClient.list((page < 0 ? 0 : page) + 1, paginatorRows, getSort());
+
+ Collections.sort(tasks, comparator);
+ return tasks.iterator();
+ }
+
+ @Override
+ public long size() {
+ return restClient.count();
+ }
+
+ @Override
+ public IModel<AccessTokenTO> model(final AccessTokenTO object) {
+ return new CompoundPropertyModel<>(object);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/java/org/apache/syncope/client/console/panels/DashboardAccessTokensPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/DashboardAccessTokensPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/DashboardAccessTokensPanel.java
new file mode 100644
index 0000000..d83d9e5
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/DashboardAccessTokensPanel.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF 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.apache.syncope.client.console.panels;
+
+import org.apache.syncope.client.console.wizards.WizardMgtPanel;
+import org.apache.syncope.common.lib.to.AccessTokenTO;
+import org.apache.syncope.common.lib.types.StandardEntitlement;
+import org.apache.wicket.Component;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class DashboardAccessTokensPanel extends Panel {
+
+ private static final long serialVersionUID = -5540744119461583586L;
+
+ public DashboardAccessTokensPanel(final String id, final PageReference pageRef) {
+ super(id);
+
+ WizardMgtPanel<AccessTokenTO> accessTokens = new AccessTokenDirectoryPanel.Builder(pageRef) {
+
+ private static final long serialVersionUID = -5960765294082359003L;
+
+ }.disableCheckBoxes().build("accessTokens");
+ MetaDataRoleAuthorizationStrategy.authorize(
+ accessTokens, Component.RENDER, StandardEntitlement.ACCESS_TOKEN_LIST);
+ add(accessTokens);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
index 268593c..3292147 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
@@ -23,14 +23,18 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
import java.util.List;
import org.apache.commons.lang3.SerializationUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.SyncopeConsoleSession;
import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.commons.RoleDataProvider;
+import org.apache.syncope.client.console.commons.DirectoryDataProvider;
+import org.apache.syncope.client.console.commons.SortableDataProviderComparator;
import org.apache.syncope.client.console.layout.FormLayoutInfoUtils;
import org.apache.syncope.client.console.pages.BasePage;
+import org.apache.syncope.client.console.panels.RoleDirectoryPanel.RoleDataProvider;
import org.apache.syncope.client.console.rest.AnyTypeClassRestClient;
import org.apache.syncope.client.console.rest.AnyTypeRestClient;
import org.apache.syncope.client.console.rest.RoleRestClient;
@@ -57,6 +61,7 @@ import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.model.StringResourceModel;
@@ -266,4 +271,35 @@ public class RoleDirectoryPanel extends DirectoryPanel<RoleTO, RoleWrapper, Role
return new RoleDirectoryPanel(id, this);
}
}
+
+ protected class RoleDataProvider extends DirectoryDataProvider<RoleTO> {
+
+ private static final long serialVersionUID = 6267494272884913376L;
+
+ private final SortableDataProviderComparator<RoleTO> comparator;
+
+ private final RoleRestClient restClient = new RoleRestClient();
+
+ public RoleDataProvider(final int paginatorRows) {
+ super(paginatorRows);
+ this.comparator = new SortableDataProviderComparator<>(this);
+ }
+
+ @Override
+ public Iterator<RoleTO> iterator(final long first, final long count) {
+ List<RoleTO> result = restClient.list();
+ Collections.sort(result, comparator);
+ return result.subList((int) first, (int) first + (int) count).iterator();
+ }
+
+ @Override
+ public long size() {
+ return restClient.count();
+ }
+
+ @Override
+ public IModel<RoleTO> model(final RoleTO object) {
+ return new CompoundPropertyModel<>(object);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/java/org/apache/syncope/client/console/rest/AccessTokenRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/AccessTokenRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/AccessTokenRestClient.java
new file mode 100644
index 0000000..50b917c
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/AccessTokenRestClient.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF 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.apache.syncope.client.console.rest;
+
+import java.util.List;
+import org.apache.syncope.common.lib.to.AccessTokenTO;
+import org.apache.syncope.common.rest.api.beans.AccessTokenQuery;
+import org.apache.syncope.common.rest.api.service.AccessTokenService;
+import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
+
+/**
+ * Console client for invoking Rest Access Token's services.
+ */
+public class AccessTokenRestClient extends BaseRestClient {
+
+ private static final long serialVersionUID = -3161863874876938094L;
+
+ public void delete(final String key) {
+ getService(AccessTokenService.class).delete(key);
+ }
+
+ public int count() {
+ return getService(AccessTokenService.class).list(
+ new AccessTokenQuery.Builder().page(1).size(1).build()).
+ getTotalCount();
+ }
+
+ public List<AccessTokenTO> list(final int page, final int size, final SortParam<String> sort) {
+ return getService(AccessTokenService.class).list(
+ new AccessTokenQuery.Builder().page(page).size(size).orderBy(toOrderBy(sort)).build()).
+ getResult();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java
index c5a93fb..5b7c156 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java
@@ -29,7 +29,7 @@ import org.apache.syncope.common.lib.to.RoleTO;
import org.apache.syncope.common.rest.api.service.RoleService;
/**
- * Console client for invoking Rest Group's services.
+ * Console client for invoking Rest Role's services.
*/
public class RoleRestClient extends BaseRestClient {
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/java/org/apache/syncope/client/console/tasks/NotificationTaskDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/NotificationTaskDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/NotificationTaskDirectoryPanel.java
index 1c09fe4..39e4227 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/NotificationTaskDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/NotificationTaskDirectoryPanel.java
@@ -222,7 +222,7 @@ public abstract class NotificationTaskDirectoryPanel
return Constants.PREF_PROPAGATION_TASKS_PAGINATOR_ROWS;
}
- public class NotificationTasksProvider extends TaskDataProvider<NotificationTaskTO> {
+ protected class NotificationTasksProvider extends TaskDataProvider<NotificationTaskTO> {
private static final long serialVersionUID = 4725679400450513556L;
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java
index 7ad6360..8b10e8d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java
@@ -307,7 +307,7 @@ public abstract class SchedTaskDirectoryPanel<T extends SchedTaskTO>
return new SchedTasksProvider<>(reference, TaskType.SCHEDULED, rows);
}
- public class SchedTasksProvider<T extends SchedTaskTO> extends TaskDataProvider<T> {
+ protected class SchedTasksProvider<T extends SchedTaskTO> extends TaskDataProvider<T> {
private static final long serialVersionUID = 4725679400450513556L;
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskDirectoryPanel.java
index 383807e..b7ffabd 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskDirectoryPanel.java
@@ -78,7 +78,7 @@ public abstract class TaskDirectoryPanel<T extends AbstractTaskTO>
super(paginatorRows);
setSort("key", SortOrder.ASCENDING);
- comparator = new SortableDataProviderComparator<>(this);
+ this.comparator = new SortableDataProviderComparator<>(this);
this.id = id;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard.properties
index d736c6d..b9100c3 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard.properties
@@ -16,3 +16,4 @@
# under the License.
overview=Overview
control=Control
+accessTokens=Access Tokens
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_it.properties
index c35799a..efdaee4 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_it.properties
@@ -16,3 +16,4 @@
# under the License.
overview=Sommario
control=Gestione
+accessTokens=Token di accesso
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_pt_BR.properties
index a104327..5823cf9 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_pt_BR.properties
@@ -16,3 +16,4 @@
# under the License.
overview=Resumo
control=Gest\u00e3o
+accessTokens=Tokens de acesso
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_ru.properties
index 9ec6228..fc2c865 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_ru.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard_ru.properties
@@ -15,7 +15,8 @@
# specific language governing permissions and limitations
# under the License.
#
-# overview=\u041e\u0431\u0437\u043e\u0440
+# overview=\u00d0\u009e\u00d0\u00b1\u00d0\u00b7\u00d0\u00be\u00d1\u0080
overview=\u041e\u0431\u0437\u043e\u0440
-# control=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435
+# control=\u00d0\u00a3\u00d0\u00bf\u00d1\u0080\u00d0\u00b0\u00d0\u00b2\u00d0\u00bb\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
control=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435
+accessTokens=\u0442\u043e\u043a\u0435\u043d\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.properties
new file mode 100644
index 0000000..89b23f2
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.properties
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF 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.
+any.edit=Edit access token ${accessTokenTO.owner}
+any.new=New access token
+owner=Owner
+expiryTime=Expiry
+issuedAt=Start
+remoteHost=Remote Host
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_it.properties
new file mode 100644
index 0000000..cfda8cc
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_it.properties
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF 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.
+any.edit=Modifica ruolo ${roleTO.key}
+any.new=Nuovo token di accesso
+owner=Proprietario
+expiryTime=Termine
+issuedAt=Inizio
+remoteHost=Host remoto
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_pt_BR.properties
new file mode 100644
index 0000000..bd27aea
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_pt_BR.properties
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF 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.
+any.edit=Alterar fun\u00e7\u00e3o ${roleTO.key}
+any.new=Novo token de acesso
+owner=Propriet\u00e1rio
+expiryTime=Termo
+issuedAt=Iniciar
+remoteHost=Host remoto
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_ru.properties
new file mode 100644
index 0000000..e5bbbd0
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel_ru.properties
@@ -0,0 +1,23 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF 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.
+#
+any.edit=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u043e\u043b\u044c ${roleTO.key}
+any.new=\u041d\u043e\u0432\u044b\u0439 \u043c\u0430\u0440\u043a\u0435\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u0430
+owner=\u0412\u043b\u0430\u0434\u0435\u043b\u0435\u0446
+expiryTime=\u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u0441\u0440\u043e\u043a\u0430
+issuedAt=\u041d\u0430\u0447\u0430\u043b\u043e
+remoteHost=\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0439 \u0443\u0437\u0435\u043b
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AnyPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AnyPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AnyPanel.html
index 3445d04..26ece08 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AnyPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AnyPanel.html
@@ -17,11 +17,8 @@ specific language governing permissions and limitations
under the License.
-->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <head><title></title></head>
- <body>
- <wicket:panel>
- <div wicket:id="accordionPanel"></div>
- <div wicket:id="searchResult"></div>
- </wicket:panel>
- </body>
+ <wicket:panel>
+ <div wicket:id="accordionPanel"></div>
+ <div wicket:id="searchResult"></div>
+ </wicket:panel>
</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardAccessTokensPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardAccessTokensPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardAccessTokensPanel.html
new file mode 100644
index 0000000..4c317fe
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardAccessTokensPanel.html
@@ -0,0 +1,23 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF 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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <div wicket:id="accessTokens"></div>
+ </wicket:panel>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
index 741d40c..2d556ee 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
@@ -145,7 +145,7 @@ public class SyncopeEnduserSession extends WebSession {
}
public boolean isAuthenticated() {
- return client.getJWT() != null;
+ return client != null && client.getJWT() != null;
}
public CookieUtils getCookieUtils() {
@@ -162,13 +162,17 @@ public class SyncopeEnduserSession extends WebSession {
@Override
public void invalidate() {
- client.logout();
+ if (isAuthenticated()) {
+ client.logout();
+ }
super.invalidate();
}
@Override
public void invalidateNow() {
- client.logout();
+ if (isAuthenticated()) {
+ client.logout();
+ }
super.invalidateNow();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/client/lib/src/main/java/org/apache/syncope/client/lib/JWTAuthenticationHandler.java
----------------------------------------------------------------------
diff --git a/client/lib/src/main/java/org/apache/syncope/client/lib/JWTAuthenticationHandler.java b/client/lib/src/main/java/org/apache/syncope/client/lib/JWTAuthenticationHandler.java
index b13ec2e..1a3af4c 100644
--- a/client/lib/src/main/java/org/apache/syncope/client/lib/JWTAuthenticationHandler.java
+++ b/client/lib/src/main/java/org/apache/syncope/client/lib/JWTAuthenticationHandler.java
@@ -25,8 +25,8 @@ public class JWTAuthenticationHandler implements AuthenticationHandler {
private final String jwt;
- public JWTAuthenticationHandler(final String jwtToken) {
- this.jwt = jwtToken;
+ public JWTAuthenticationHandler(final String jwt) {
+ this.jwt = jwt;
}
public String getJwt() {
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java
index c172e88..a07ef4e 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AccessTokenTO.java
@@ -37,8 +37,6 @@ public class AccessTokenTO extends AbstractBaseBean implements EntityTO {
private String owner;
- private String authorities;
-
@Override
public String getKey() {
return key;
@@ -77,12 +75,4 @@ public class AccessTokenTO extends AbstractBaseBean implements EntityTO {
this.owner = owner;
}
- public String getAuthorities() {
- return authorities;
- }
-
- public void setAuthorities(final String authorities) {
- this.authorities = authorities;
- }
-
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/7004b84a/core/spring/src/main/java/org/apache/syncope/core/spring/security/SyncopeDigestAuthenticationEntryPoint.java
----------------------------------------------------------------------
diff --git a/core/spring/src/main/java/org/apache/syncope/core/spring/security/SyncopeDigestAuthenticationEntryPoint.java b/core/spring/src/main/java/org/apache/syncope/core/spring/security/SyncopeDigestAuthenticationEntryPoint.java
deleted file mode 100644
index 79b33c5..0000000
--- a/core/spring/src/main/java/org/apache/syncope/core/spring/security/SyncopeDigestAuthenticationEntryPoint.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF 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.apache.syncope.core.spring.security;
-
-import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.syncope.common.rest.api.RESTHeaders;
-import org.springframework.security.core.AuthenticationException;
-import org.springframework.security.web.authentication.www.DigestAuthenticationEntryPoint;
-
-/**
- * Render Spring's {@link AuthenticationException} as other Syncope errors.
- */
-public class SyncopeDigestAuthenticationEntryPoint extends DigestAuthenticationEntryPoint {
-
- @Override
- public void commence(final HttpServletRequest request, final HttpServletResponse response,
- final AuthenticationException authException) throws IOException, ServletException {
-
- response.addHeader(RESTHeaders.ERROR_INFO, authException.getMessage());
-
- super.commence(request, response, authException);
- }
-
-}