diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/App.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/App.js
index 801f875404..0765dcff5f 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/App.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/App.js
@@ -98,19 +98,25 @@ class App extends React.Component {
};
checkUserLoggedIn = (config) => {
- axios.get(
- window.location.origin + config.serverConfig.invoker.uri +
- config.serverConfig.invoker.publisher + "/applications/categories"
+ axios.post(
+ window.location.origin + "/publisher-ui-request-handler/user",
+ "platform=publisher"
).then(res => {
- this.getAndroidEnterpriseToken(config);
+ const pageURL = window.location.pathname;
+ const lastURLSegment = pageURL.substr(pageURL.lastIndexOf('/') + 1);
+ if (lastURLSegment === "login") {
+ window.location.href = window.location.origin + `/publisher/`;
+ } else {
+ this.getAndroidEnterpriseToken(config);
+ }
}).catch((error) => {
if (error.hasOwnProperty("response") && error.response.status === 401) {
const redirectUrl = encodeURI(window.location.href);
const pageURL = window.location.pathname;
const lastURLSegment = pageURL.substr(pageURL.lastIndexOf('/') + 1);
- if(lastURLSegment!=="login"){
+ if (lastURLSegment !== "login") {
window.location.href = window.location.origin + `/publisher/login?redirect=${redirectUrl}`;
- }else{
+ } else {
this.getAndroidEnterpriseToken(config);
}
} else {
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewCustomApp.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewCustomApp.js
index 8cc1bdb4d4..e1a523e9a2 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewCustomApp.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewCustomApp.js
@@ -59,7 +59,7 @@ class AddNewCustomApp extends React.Component {
render() {
return (
-
+
Home
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewEnterpriseApp.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewEnterpriseApp.js
index 537c3b67dd..c51f56ba5b 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewEnterpriseApp.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewEnterpriseApp.js
@@ -53,7 +53,7 @@ class AddNewEnterpriseApp extends React.Component {
render() {
return (
-
+
Home
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewPublicApp.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewPublicApp.js
index 3e4e815ba6..b5961871da 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewPublicApp.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewPublicApp.js
@@ -61,7 +61,7 @@ class AddNewEnterpriseApp extends React.Component {
render() {
return (
-
+
Home
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewWebClip.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewWebClip.js
index db562e6507..f37e453901 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewWebClip.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/AddNewWebClip.js
@@ -57,7 +57,7 @@ class AddNewEnterpriseApp extends React.Component {
render() {
return (
-
+
Home
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-release/AddNewRelease.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-release/AddNewRelease.js
index fdc4d3623a..2cdaf6d2ab 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-release/AddNewRelease.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-release/AddNewRelease.js
@@ -42,7 +42,7 @@ class AddNewRelease extends React.Component {
const {appId, deviceType} = this.props.match.params;
return (
-
+
Home
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/Manage.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/Manage.js
index bd8039f747..2932d335b1 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/Manage.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/Manage.js
@@ -36,7 +36,7 @@ class Manage extends React.Component {
render() {
return (
-
+
Home
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/ManageAndroidEnterprise.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/ManageAndroidEnterprise.js
index 96638d2505..e0348e8fc5 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/ManageAndroidEnterprise.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/ManageAndroidEnterprise.js
@@ -38,7 +38,7 @@ class ManageAndroidEnterprise extends React.Component {
render() {
return (
-
+
Home
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/page/Page.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/page/Page.js
index bd4ad771e8..12f8720780 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/page/Page.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/page/Page.js
@@ -281,7 +281,7 @@ class Page extends React.Component {
const {pageName, loading, clusters, applications, isAddNewClusterVisible, links} = this.state;
return (
-
+
Home
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/react-app/src/App.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/react-app/src/App.js
index 4fc452939e..9f4690c87a 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/react-app/src/App.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/react-app/src/App.js
@@ -78,22 +78,28 @@ class App extends React.Component {
}
checkUserLoggedIn = (config) => {
- axios.get(
- window.location.origin + config.serverConfig.invoker.uri +
- config.serverConfig.invoker.publisher + "/applications/categories"
+ axios.post(
+ window.location.origin + "/store-ui-request-handler/user",
+ "platform=publisher"
).then(res => {
- this.setState({
- loading: false,
- config: config
- })
+ const pageURL = window.location.pathname;
+ const lastURLSegment = pageURL.substr(pageURL.lastIndexOf('/') + 1);
+ if (lastURLSegment === "login") {
+ window.location.href = window.location.origin + `/store/`;
+ } else {
+ this.setState({
+ loading: false,
+ config: config
+ });
+ }
}).catch((error) => {
if (error.hasOwnProperty("response") && error.response.status === 401) {
const redirectUrl = encodeURI(window.location.href);
const pageURL = window.location.pathname;
const lastURLSegment = pageURL.substr(pageURL.lastIndexOf('/') + 1);
- if(lastURLSegment!=="login"){
+ if (lastURLSegment !== "login") {
window.location.href = window.location.origin + `/store/login?redirect=${redirectUrl}`;
- }else{
+ } else {
this.setState({
loading: false,
config: config
@@ -106,7 +112,7 @@ class App extends React.Component {
})
}
});
- }
+ };
render() {
const {loading, error} = this.state;
diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/UserHandler.java b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/UserHandler.java
index e742e543fd..5268160689 100644
--- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/UserHandler.java
+++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/UserHandler.java
@@ -43,32 +43,36 @@ import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
-@MultipartConfig @WebServlet("/user") public class UserHandler extends HttpServlet {
+@MultipartConfig
+@WebServlet("/user")
+public class UserHandler extends HttpServlet {
private static final Log log = LogFactory.getLog(UserHandler.class);
private static final long serialVersionUID = 9050048549140517002L;
- @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
try {
String platform = req.getParameter(HandlerConstants.PLATFORM);
String serverUrl =
req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + req.getServerName() + HandlerConstants.COLON
+ System.getProperty("iot.gateway.https.port");
if (StringUtils.isBlank(platform)) {
- ProxyResponse proxyResponse = new ProxyResponse();
- proxyResponse.setCode(HttpStatus.SC_BAD_REQUEST);
- HandlerUtil.handleError(req, resp, serverUrl, platform, proxyResponse);
+ sendUnAuthorizeResponse(req, resp, serverUrl, platform);
return;
}
HttpSession httpSession = req.getSession(false);
if (httpSession == null) {
- ProxyResponse proxyResponse = new ProxyResponse();
- proxyResponse.setCode(HttpStatus.SC_UNAUTHORIZED);
- HandlerUtil.handleError(req, resp, serverUrl, platform, proxyResponse);
+ sendUnAuthorizeResponse(req, resp, serverUrl, platform);
return;
}
AuthData authData = (AuthData) httpSession.getAttribute(HandlerConstants.SESSION_AUTH_DATA_KEY);
+ if (authData == null) {
+ sendUnAuthorizeResponse(req, resp, serverUrl, platform);
+ return;
+ }
+
String accessToken = authData.getAccessToken();
HttpPost tokenEndpoint = new HttpPost(serverUrl + HandlerConstants.INTROSPECT_ENDPOINT);
@@ -94,9 +98,7 @@ import java.io.IOException;
if (jTokenResult.isJsonObject()) {
JsonObject jTokenResultAsJsonObject = jTokenResult.getAsJsonObject();
if (!jTokenResultAsJsonObject.get("active").getAsBoolean()) {
- ProxyResponse proxyResponse = new ProxyResponse();
- proxyResponse.setCode(HttpStatus.SC_UNAUTHORIZED);
- HandlerUtil.handleError(req, resp, serverUrl, platform, proxyResponse);
+ sendUnAuthorizeResponse(req, resp, serverUrl, platform);
return;
}
ProxyResponse proxyResponse = new ProxyResponse();
@@ -110,4 +112,18 @@ import java.io.IOException;
log.error("Error occurred while parsing the response. ", e);
}
}
+
+ /**
+ * Send UnAuthorized Response to the user
+ * @param req HttpServletRequest object
+ * @param resp HttpServletResponse object
+ * @param serverUrl Url of the server
+ * @param platform Requested platform
+ */
+ private void sendUnAuthorizeResponse(HttpServletRequest req, HttpServletResponse resp, String serverUrl, String platform)
+ throws IOException {
+ ProxyResponse proxyResponse = new ProxyResponse();
+ proxyResponse.setCode(HttpStatus.SC_UNAUTHORIZED);
+ HandlerUtil.handleError(req, resp, serverUrl, platform, proxyResponse);
+ }
}