Return-Path: X-Original-To: apmail-airavata-commits-archive@www.apache.org Delivered-To: apmail-airavata-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 76DFD17E16 for ; Thu, 19 Mar 2015 15:03:03 +0000 (UTC) Received: (qmail 75190 invoked by uid 500); 19 Mar 2015 15:02:29 -0000 Delivered-To: apmail-airavata-commits-archive@airavata.apache.org Received: (qmail 75051 invoked by uid 500); 19 Mar 2015 15:02:29 -0000 Mailing-List: contact commits-help@airavata.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@airavata.apache.org Delivered-To: mailing list commits@airavata.apache.org Received: (qmail 73837 invoked by uid 99); 19 Mar 2015 15:02:28 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Mar 2015 15:02:28 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 0A80EE1924; Thu, 19 Mar 2015 15:02:28 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: lahiru@apache.org To: commits@airavata.apache.org Date: Thu, 19 Mar 2015 15:02:43 -0000 Message-Id: <4383ca9836764c128eae44f41dab0381@git.apache.org> In-Reply-To: <3f62fff8b9fa46f2b92fed4c48383756@git.apache.org> References: <3f62fff8b9fa46f2b92fed4c48383756@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [17/62] [abbrv] airavata git commit: Reorganizing credential store to create a light weight stubs artifact - AIRAVATA-1621 Reorganizing credential store to create a light weight stubs artifact - AIRAVATA-1621 Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/58c58cf2 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/58c58cf2 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/58c58cf2 Branch: refs/heads/queue-gfac-rabbitmq Commit: 58c58cf209fbfdd6873aaf718ff6927f07f764e2 Parents: 66de372 Author: Suresh Marru Authored: Thu Mar 5 14:36:16 2015 -0500 Committer: Suresh Marru Committed: Thu Mar 5 14:36:17 2015 -0500 ---------------------------------------------------------------------- .../credential-store-webapp/pom.xml | 158 - .../basic/BasicAccessAuthenticator.java | 226 - .../credentialstore/local/LocalUserStore.java | 339 - .../session/HttpAuthenticatorFilter.java | 191 - .../session/ServletRequestHelper.java | 129 - .../main/resources/airavata-server.properties | 234 - .../main/resources/credential-store/client.xml | 36 - .../credential-store/oauth-privkey.pk8 | 28 - .../resources/credential-store/oauth-pubkey.pem | 9 - .../src/main/webapp/WEB-INF/web.xml | 130 - .../src/main/webapp/acs/index.jsp | 44 - .../src/main/webapp/credential-store/error.jsp | 53 - .../credential-store/password-credentials.jsp | 33 - .../webapp/credential-store/show-redirect.jsp | 44 - .../main/webapp/credential-store/success.jsp | 25 - .../src/main/webapp/gateway/acs.jsp | 62 - .../src/main/webapp/gateway/callback.jsp | 78 - .../src/main/webapp/gateway/list_users.jsp | 78 - .../src/main/webapp/gateway/logout.jsp | 35 - .../src/main/webapp/gateway/user.jsp | 102 - .../src/main/webapp/images/airavata-logo-2.png | Bin 4314 -> 0 bytes .../src/main/webapp/index.jsp | 26 - .../src/main/webapp/user-store/add.jsp | 142 - .../src/main/webapp/user-store/index.jsp | 138 - .../src/main/webapp/user-store/password.jsp | 157 - .../credential-store/pom.xml | 154 - .../scripts/credential-store-h2.sql | 42 - .../scripts/credential-store-mysql.sql | 42 - .../credential/store/client/TestSSLClient.java | 140 - .../store/cpi/CredentialStoreService.java | 6888 ------------------ .../store/cpi/cs_cpi_serviceConstants.java | 55 - .../credential/store/credential/AuditInfo.java | 53 - .../store/credential/CommunityUser.java | 71 - .../credential/store/credential/Credential.java | 62 - .../impl/certificate/CertificateAuditInfo.java | 101 - .../impl/certificate/CertificateCredential.java | 102 - .../impl/password/PasswordCredential.java | 53 - .../credential/impl/ssh/SSHCredential.java | 88 - .../impl/ssh/SSHCredentialGenerator.java | 103 - .../store/datamodel/CertificateCredential.java | 1104 --- .../store/datamodel/CommunityUser.java | 589 -- .../store/datamodel/PasswordCredential.java | 698 -- .../store/datamodel/SSHCredential.java | 998 --- .../store/datamodel/csDataModelConstants.java | 55 - .../exception/CredentialStoreException.java | 397 - .../store/notifier/CredentialStoreNotifier.java | 42 - .../store/notifier/NotificationMessage.java | 46 - .../store/notifier/NotifierBootstrap.java | 144 - .../notifier/impl/EmailNotificationMessage.java | 58 - .../store/notifier/impl/EmailNotifier.java | 71 - .../impl/EmailNotifierConfiguration.java | 84 - .../store/server/CredentialStoreServer.java | 158 - .../server/CredentialStoreServerHandler.java | 202 - .../store/servlet/CredentialBootstrapper.java | 49 - .../servlet/CredentialStoreCallbackServlet.java | 272 - .../servlet/CredentialStoreStartServlet.java | 183 - .../store/store/CredentialReader.java | 112 - .../store/store/CredentialReaderFactory.java | 54 - .../store/store/CredentialStoreException.java | 40 - .../store/store/CredentialWriter.java | 39 - .../store/impl/CertificateCredentialWriter.java | 121 - .../store/store/impl/CredentialReaderImpl.java | 162 - .../store/store/impl/SSHCredentialWriter.java | 87 - .../store/store/impl/db/CommunityUserDAO.java | 257 - .../store/store/impl/db/CredentialsDAO.java | 458 -- .../store/store/impl/db/ParentDAO.java | 37 - .../store/util/ConfigurationReader.java | 121 - .../store/util/CredentialStoreConstants.java | 37 - .../credential/store/util/PrivateKeyStore.java | 70 - .../credential/store/util/TokenGenerator.java | 57 - .../airavata/credential/store/util/Utility.java | 110 - .../store/notifier/impl/EmailNotifierTest.java | 56 - .../store/impl/db/CommunityUserDAOTest.java | 207 - .../store/store/impl/db/CredentialsDAOTest.java | 421 -- .../store/util/ConfigurationReaderTest.java | 58 - .../store/util/TokenGeneratorTest.java | 42 - .../test/resources/credential-store/client.xml | 35 - .../src/test/resources/keystore.jks | Bin 2230 -> 0 bytes .../src/test/resources/mykeystore.jks | Bin 498 -> 0 bytes .../credentialStoreErrors.thrift | 32 - .../cs-thrift-description/cs.cpi.service.thrift | 61 - .../cs-thrift-description/csDataModel.thrift | 61 - .../cs-thrift-description/generate-cs-stubs.sh | 134 - modules/credential-store-service/pom.xml | 42 - .../credential-store-service/pom.xml | 154 + .../scripts/credential-store-h2.sql | 42 + .../scripts/credential-store-mysql.sql | 42 + .../credential/store/client/TestSSLClient.java | 140 + .../store/cpi/CredentialStoreService.java | 6888 ++++++++++++++++++ .../store/cpi/cs_cpi_serviceConstants.java | 55 + .../credential/store/credential/AuditInfo.java | 53 + .../store/credential/CommunityUser.java | 71 + .../credential/store/credential/Credential.java | 62 + .../impl/certificate/CertificateAuditInfo.java | 101 + .../impl/certificate/CertificateCredential.java | 102 + .../impl/password/PasswordCredential.java | 53 + .../credential/impl/ssh/SSHCredential.java | 88 + .../impl/ssh/SSHCredentialGenerator.java | 103 + .../store/datamodel/CertificateCredential.java | 1104 +++ .../store/datamodel/CommunityUser.java | 589 ++ .../store/datamodel/PasswordCredential.java | 698 ++ .../store/datamodel/SSHCredential.java | 998 +++ .../store/datamodel/csDataModelConstants.java | 55 + .../exception/CredentialStoreException.java | 397 + .../store/notifier/CredentialStoreNotifier.java | 42 + .../store/notifier/NotificationMessage.java | 46 + .../store/notifier/NotifierBootstrap.java | 144 + .../notifier/impl/EmailNotificationMessage.java | 58 + .../store/notifier/impl/EmailNotifier.java | 71 + .../impl/EmailNotifierConfiguration.java | 84 + .../store/server/CredentialStoreServer.java | 158 + .../server/CredentialStoreServerHandler.java | 202 + .../store/servlet/CredentialBootstrapper.java | 49 + .../servlet/CredentialStoreCallbackServlet.java | 272 + .../servlet/CredentialStoreStartServlet.java | 183 + .../store/store/CredentialReader.java | 112 + .../store/store/CredentialReaderFactory.java | 54 + .../store/store/CredentialStoreException.java | 40 + .../store/store/CredentialWriter.java | 39 + .../store/impl/CertificateCredentialWriter.java | 121 + .../store/store/impl/CredentialReaderImpl.java | 162 + .../store/store/impl/SSHCredentialWriter.java | 87 + .../store/store/impl/db/CommunityUserDAO.java | 257 + .../store/store/impl/db/CredentialsDAO.java | 458 ++ .../store/store/impl/db/ParentDAO.java | 37 + .../store/util/ConfigurationReader.java | 121 + .../store/util/CredentialStoreConstants.java | 37 + .../credential/store/util/PrivateKeyStore.java | 70 + .../credential/store/util/TokenGenerator.java | 57 + .../airavata/credential/store/util/Utility.java | 110 + .../store/notifier/impl/EmailNotifierTest.java | 56 + .../store/impl/db/CommunityUserDAOTest.java | 207 + .../store/store/impl/db/CredentialsDAOTest.java | 421 ++ .../store/util/ConfigurationReaderTest.java | 58 + .../store/util/TokenGeneratorTest.java | 42 + .../test/resources/credential-store/client.xml | 35 + .../src/test/resources/keystore.jks | Bin 0 -> 2230 bytes .../src/test/resources/mykeystore.jks | Bin 0 -> 498 bytes .../credential-store-stubs/pom.xml | 45 + .../store/cpi/CredentialStoreService.java | 6888 ++++++++++++++++++ .../store/cpi/credentialStoreCPIConstants.java | 55 + .../store/datamodel/CertificateCredential.java | 1104 +++ .../store/datamodel/CommunityUser.java | 589 ++ .../store/datamodel/PasswordCredential.java | 698 ++ .../store/datamodel/SSHCredential.java | 998 +++ .../credentialStoreDataModelConstants.java | 55 + .../exception/CredentialStoreException.java | 397 + .../credential-store-webapp/pom.xml | 158 + .../basic/BasicAccessAuthenticator.java | 226 + .../credentialstore/local/LocalUserStore.java | 339 + .../session/HttpAuthenticatorFilter.java | 191 + .../session/ServletRequestHelper.java | 129 + .../main/resources/airavata-server.properties | 234 + .../main/resources/credential-store/client.xml | 36 + .../credential-store/oauth-privkey.pk8 | 28 + .../resources/credential-store/oauth-pubkey.pem | 9 + .../src/main/webapp/WEB-INF/web.xml | 130 + .../src/main/webapp/acs/index.jsp | 44 + .../src/main/webapp/credential-store/error.jsp | 53 + .../credential-store/password-credentials.jsp | 33 + .../webapp/credential-store/show-redirect.jsp | 44 + .../main/webapp/credential-store/success.jsp | 25 + .../src/main/webapp/gateway/acs.jsp | 62 + .../src/main/webapp/gateway/callback.jsp | 78 + .../src/main/webapp/gateway/list_users.jsp | 78 + .../src/main/webapp/gateway/logout.jsp | 35 + .../src/main/webapp/gateway/user.jsp | 102 + .../src/main/webapp/images/airavata-logo-2.png | Bin 0 -> 4314 bytes .../src/main/webapp/index.jsp | 26 + .../src/main/webapp/user-store/add.jsp | 142 + .../src/main/webapp/user-store/index.jsp | 138 + .../src/main/webapp/user-store/password.jsp | 157 + .../credentialStoreCPI.thrift | 61 + .../credentialStoreDataModel.thrift | 61 + .../credentialStoreErrors.thrift | 32 + .../cs-thrift-descriptions/generate-cs-stubs.sh | 134 + modules/credential-store/pom.xml | 43 + pom.xml | 4 +- 178 files changed, 29344 insertions(+), 18514 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/pom.xml ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/pom.xml b/modules/credential-store-service/credential-store-webapp/pom.xml deleted file mode 100644 index 8122f9e..0000000 --- a/modules/credential-store-service/credential-store-webapp/pom.xml +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - org.apache.airavata - airavata-credential-store-service - 0.15-SNAPSHOT - ../pom.xml - - - 4.0.0 - airavata-credential-store-webapp - war - airavata-credential-store-webapp - - credential-store - - - org.codehaus.cargo - cargo-maven2-plugin - ${cargo.version} - - true - - - 8443 - https - false - TLS - /Users/chathuri/dev/airavata/credential-store/oa4mp/airavata_sym.jks - airavata - 9009 - 9099 - - - - true - - ${project.build.directory}/tomcat6x - - - org.apache.airavata - airavata-credential-store-webapp - war - - /acs - - - - - - tomcat6x - 180000 - - - http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz - - - - - - - - - - - - - - org.apache.derby - derbyclient - ${derby.version} - - - org.apache.airavata - airavata-credential-store - ${project.version} - - - net.oauth.core - oauth-httpclient4 - 20090617 - - - org.apache.airavata - airavata-security - ${project.version} - - - org.apache.airavata - airavata-common-utils - ${project.version} - - - commons-codec - commons-codec - 1.6 - - - - org.slf4j - slf4j-api - ${org.slf4j.version} - - - org.slf4j - slf4j-simple - ${org.slf4j.version} - - - org.slf4j - jcl-over-slf4j - ${org.slf4j.version} - - - org.slf4j - slf4j-log4j12 - ${org.slf4j.version} - - - org.ebaysf.web - cors-filter - ${ebay.cors.filter} - - - - 1.2.1 - 8000 - y - - - \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/basic/BasicAccessAuthenticator.java ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/basic/BasicAccessAuthenticator.java b/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/basic/BasicAccessAuthenticator.java deleted file mode 100644 index c34cb1b..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/basic/BasicAccessAuthenticator.java +++ /dev/null @@ -1,226 +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.airavata.credentialstore.basic; - -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.apache.airavata.common.utils.Constants; -import org.apache.airavata.common.utils.ServerSettings; -import org.apache.airavata.credentialstore.session.ServletRequestHelper; -import org.apache.airavata.security.AbstractAuthenticator; -import org.apache.airavata.security.AuthenticationException; -import org.apache.airavata.security.UserStoreException; -import org.w3c.dom.Node; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; - -/** - * This authenticator handles basic access authentication requests. In basic access authentication - * we get user name and password as HTTP headers. The password is encoded with base64. - * More information @link{http://en.wikipedia.org/wiki/Basic_access_authentication} - */ -public class BasicAccessAuthenticator extends AbstractAuthenticator { - - - private static final String AUTHENTICATOR_NAME = "BasicAccessAuthenticator"; - - private ServletRequestHelper servletRequestHelper = new ServletRequestHelper(); - - public BasicAccessAuthenticator() { - super(AUTHENTICATOR_NAME); - } - - - /** - * Returns user name and password as an array. The first element is user name and second is password. - * - * @param httpServletRequest The servlet request. - * @return User name password pair as an array. - * @throws AuthenticationException If an error occurred while extracting user name and password. - */ - private String[] getUserNamePassword(HttpServletRequest httpServletRequest) throws AuthenticationException { - - String basicHeader = httpServletRequest.getHeader(ServletRequestHelper.AUTHORISATION_HEADER_NAME); - - if (basicHeader == null) { - throw new AuthenticationException("Authorization Required"); - } - - String[] userNamePasswordArray = basicHeader.split(" "); - - if (userNamePasswordArray == null || userNamePasswordArray.length != 2) { - throw new AuthenticationException("Authorization Required"); - } - - String decodedString = servletRequestHelper.decode(userNamePasswordArray[1]); - - String[] array = decodedString.split(":"); - - if (array == null || array.length != 2) { - throw new AuthenticationException("Authorization Required"); - } - - return array; - - } - - @Override - protected boolean doAuthentication(Object credentials) throws AuthenticationException { - if (this.getUserStore() == null) { - throw new AuthenticationException("Authenticator is not initialized. Error processing request."); - } - - if (credentials == null) - return false; - - HttpServletRequest httpServletRequest = (HttpServletRequest) credentials; - - String[] array = getUserNamePassword(httpServletRequest); - - String userName = array[0]; - String password = array[1]; - - try { - return this.getUserStore().authenticate(userName, password); - - } catch (UserStoreException e) { - throw new AuthenticationException("Error querying database for session information.", e); - } - } - - - - @Override - public void onSuccessfulAuthentication(Object authenticationInfo) { - - HttpServletRequest httpServletRequest = (HttpServletRequest) authenticationInfo; - - try { - String[] array = getUserNamePassword(httpServletRequest); - - StringBuilder stringBuilder = new StringBuilder("User : "); - - if (array != null) { - - servletRequestHelper.addUserToSession(array[0], httpServletRequest); - - stringBuilder.append(array[0]).append(" successfully logged into system at ").append(getCurrentTime()); - log.debug(stringBuilder.toString()); - - } else { - log.error("System error occurred while extracting user name after authentication. " + - "Couldn't extract user name from the request."); - } - } catch (AuthenticationException e) { - log.error("System error occurred while extracting user name after authentication.", e); - } - - } - - @Override - public void onFailedAuthentication(Object authenticationInfo) { - - HttpServletRequest httpServletRequest = (HttpServletRequest) authenticationInfo; - - try { - String[] array = getUserNamePassword(httpServletRequest); - - StringBuilder stringBuilder = new StringBuilder("User : "); - - if (array != null) { - - stringBuilder.append(array[0]).append(" Failed login attempt to system at ").append(getCurrentTime()); - log.warn(stringBuilder.toString()); - - } else { - stringBuilder.append("Failed login attempt to system at ").append(getCurrentTime()).append( ". User unknown."); - log.warn(stringBuilder.toString()); - } - } catch (AuthenticationException e) { - log.error("System error occurred while extracting user name after authentication.", e); - } - } - - @Override - public boolean isAuthenticated(Object credentials) { - HttpServletRequest httpServletRequest = (HttpServletRequest) credentials; - - HttpSession httpSession = httpServletRequest.getSession(); - - boolean seenInSession = false; - - if (httpSession != null) { - String user = null; - String gateway = null; - try{ - user = (String)httpSession.getAttribute(Constants.USER_IN_SESSION); - gateway = (String)httpSession.getAttribute(ServerSettings.getDefaultUserGateway()); - } - catch (ApplicationSettingsException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - if (user != null && gateway != null) { - servletRequestHelper.addToContext(user, gateway); - seenInSession = true; - } - } - - return seenInSession; - - } - - @Override - public boolean canProcess(Object credentials) { - - HttpServletRequest httpServletRequest = (HttpServletRequest) credentials; - - return (httpServletRequest.getHeader(ServletRequestHelper.AUTHORISATION_HEADER_NAME) != null); - } - - - - @Override - public void configure(Node node) throws RuntimeException { - - /** - - - - - - - - - - - - */ - - try { - this.getUserStore().configure(node); - } catch (UserStoreException e) { - throw new RuntimeException("Error while configuring authenticator user store", e); - } - - } - -} http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/local/LocalUserStore.java ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/local/LocalUserStore.java b/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/local/LocalUserStore.java deleted file mode 100644 index 0a2ca83..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/local/LocalUserStore.java +++ /dev/null @@ -1,339 +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.airavata.credentialstore.local; - -import java.security.NoSuchAlgorithmException; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import javax.servlet.ServletContext; - -import org.apache.airavata.common.utils.DBUtil; -import org.apache.airavata.common.utils.SecurityUtil; -import org.apache.airavata.common.utils.ServerSettings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * User store to maintain internal DB database. - */ -public class LocalUserStore { - - protected static Logger log = LoggerFactory.getLogger(LocalUserStore.class); - - private DBUtil dbUtil; - - private String hashMethod; - - public LocalUserStore(ServletContext servletContext) throws Exception { - // Properties properties = WebAppUtil.getAiravataProperties(servletContext); - - hashMethod = ServerSettings.getSetting("default.registry.password.hash.method"); - - dbUtil = new DBUtil(ServerSettings.getSetting("registry.jdbc.url"), - ServerSettings.getSetting("registry.jdbc.user"), - ServerSettings.getSetting("registry.jdbc.password"), - ServerSettings.getSetting("registry.jdbc.driver")); - - } - - public LocalUserStore(DBUtil db) { - dbUtil = db; - } - - public void addUser(String userName, String password) { - - String sql = "insert into Users values (?, ?)"; - - Connection connection = null; - PreparedStatement preparedStatement = null; - - try { - connection = dbUtil.getConnection(); - preparedStatement = connection.prepareStatement(sql); - - preparedStatement.setString(1, userName); - preparedStatement.setString(2, SecurityUtil.digestString(password, hashMethod)); - - preparedStatement.executeUpdate(); - - connection.commit(); - - log.debug("User " + userName + " successfully added."); - - } catch (SQLException e) { - StringBuilder stringBuilder = new StringBuilder("Error persisting user information."); - stringBuilder.append(" user - ").append(userName); - - log.error(stringBuilder.toString(), e); - - throw new RuntimeException(stringBuilder.toString(), e); - } catch (NoSuchAlgorithmException e) { - String stringBuilder = "Error creating hash value for password."; - log.error(stringBuilder, e); - - throw new RuntimeException(stringBuilder, e); - } finally { - - dbUtil.cleanup(preparedStatement, connection); - } - - } - - protected String getPassword(String userName, Connection connection) { - - String sql = "select password from Users where user_name = ?"; - - PreparedStatement preparedStatement = null; - ResultSet resultSet = null; - - try { - preparedStatement = connection.prepareStatement(sql); - - preparedStatement.setString(1, userName); - - resultSet = preparedStatement.executeQuery(); - - if (resultSet.next()) { - return resultSet.getString("password"); - } - - } catch (SQLException e) { - StringBuilder stringBuilder = new StringBuilder("Error retrieving credentials for user."); - stringBuilder.append("name - ").append(userName); - - log.error(stringBuilder.toString(), e); - - throw new RuntimeException(stringBuilder.toString(), e); - } finally { - - if (resultSet != null) { - try { - resultSet.close(); - } catch (SQLException e) { - log.error("Error closing result set", e); - } - } - - if (preparedStatement != null) { - try { - preparedStatement.close(); - } catch (SQLException e) { - log.error("Error closing prepared statement", e); - } - } - } - - return null; - } - - public void changePassword(String userName, String oldPassword, String newPassword) { - - Connection connection = null; - PreparedStatement preparedStatement = null; - - try { - connection = dbUtil.getConnection(); - - String storedPassword = getPassword(userName, connection); - - String oldDigestedPassword = SecurityUtil.digestString(oldPassword, hashMethod); - - if (storedPassword != null) { - if (!storedPassword.equals(oldDigestedPassword)) { - throw new RuntimeException("Previous password did not match correctly. Please specify old password" - + " correctly."); - } - } - - String sql = "update Users set password = ? where user_name = ?"; - - preparedStatement = connection.prepareStatement(sql); - - preparedStatement.setString(1, SecurityUtil.digestString(newPassword, hashMethod)); - preparedStatement.setString(2, userName); - - preparedStatement.executeUpdate(); - - connection.commit(); - - log.debug("Password changed for user " + userName); - - } catch (SQLException e) { - StringBuilder stringBuilder = new StringBuilder("Error updating credentials."); - stringBuilder.append(" user - ").append(userName); - - log.error(stringBuilder.toString(), e); - - throw new RuntimeException(stringBuilder.toString(), e); - } catch (NoSuchAlgorithmException e) { - String stringBuilder = "Error creating hash value for password."; - log.error(stringBuilder, e); - - throw new RuntimeException(stringBuilder, e); - } finally { - - dbUtil.cleanup(preparedStatement, connection); - } - - } - - public void changePasswordByAdmin(String userName, String newPassword) { - - Connection connection = null; - PreparedStatement preparedStatement = null; - - try { - connection = dbUtil.getConnection(); - - String sql = "update Users set password = ? where user_name = ?"; - - preparedStatement = connection.prepareStatement(sql); - - preparedStatement.setString(1, SecurityUtil.digestString(newPassword, hashMethod)); - preparedStatement.setString(2, userName); - - preparedStatement.executeUpdate(); - - connection.commit(); - - log.debug("Admin changed password of user " + userName); - - } catch (SQLException e) { - StringBuilder stringBuilder = new StringBuilder("Error updating credentials."); - stringBuilder.append(" user - ").append(userName); - - log.error(stringBuilder.toString(), e); - - throw new RuntimeException(stringBuilder.toString(), e); - } catch (NoSuchAlgorithmException e) { - String stringBuilder = "Error creating hash value for password."; - log.error(stringBuilder, e); - - throw new RuntimeException(stringBuilder, e); - } finally { - - dbUtil.cleanup(preparedStatement, connection); - } - - } - - public void deleteUser(String userName) { - - String sql = "delete from Users where user_name=?"; - - Connection connection = null; - PreparedStatement preparedStatement = null; - - try { - connection = dbUtil.getConnection(); - preparedStatement = connection.prepareStatement(sql); - - preparedStatement.setString(1, userName); - - preparedStatement.executeUpdate(); - - connection.commit(); - - log.debug("User " + userName + " deleted."); - - } catch (SQLException e) { - StringBuilder stringBuilder = new StringBuilder("Error deleting user."); - stringBuilder.append("user - ").append(userName); - - log.error(stringBuilder.toString(), e); - - throw new RuntimeException(stringBuilder.toString(), e); - } finally { - dbUtil.cleanup(preparedStatement, connection); - } - - } - - public List getUsers() { - - List userList = new ArrayList(); - - String sql = "select user_name from Users"; - - PreparedStatement preparedStatement = null; - ResultSet resultSet = null; - Connection connection = null; - - try { - - connection = dbUtil.getConnection(); - preparedStatement = connection.prepareStatement(sql); - - resultSet = preparedStatement.executeQuery(); - - while (resultSet.next()) { - userList.add(resultSet.getString("user_name")); - } - - } catch (SQLException e) { - String errorString = "Error retrieving Users."; - log.error(errorString, e); - - throw new RuntimeException(errorString, e); - } finally { - - if (resultSet != null) { - try { - resultSet.close(); - } catch (SQLException e) { - log.error("Error closing result set", e); - } - } - - if (preparedStatement != null) { - try { - preparedStatement.close(); - } catch (SQLException e) { - log.error("Error closing prepared statement", e); - } - } - - if (connection != null) { - try { - connection.close(); - } catch (SQLException e) { - log.error("Error closing connection", e); - } - } - } - - Collections.sort(userList); - - return userList; - - } - - public static String getPasswordRegularExpression() { - return "'^[a-zA-Z0-9_-]{6,15}$'"; - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/session/HttpAuthenticatorFilter.java ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/session/HttpAuthenticatorFilter.java b/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/session/HttpAuthenticatorFilter.java deleted file mode 100644 index 0847d54..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/session/HttpAuthenticatorFilter.java +++ /dev/null @@ -1,191 +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.airavata.credentialstore.session; - -import org.apache.airavata.security.AuthenticationException; -import org.apache.airavata.security.Authenticator; -import org.apache.airavata.security.configurations.AuthenticatorConfigurationReader; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.xml.sax.SAXException; - -import javax.servlet.*; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.xml.parsers.ParserConfigurationException; -import java.io.IOException; -import java.io.InputStream; -import java.util.Calendar; -import java.util.List; - -/** - * A servlet filter class which intercepts the request and do authentication. - */ -public class HttpAuthenticatorFilter implements Filter { - - private List authenticatorList; - - private static Logger log = LoggerFactory.getLogger(HttpAuthenticatorFilter.class); - - private ServletRequestHelper servletRequestHelper = new ServletRequestHelper(); - - @Override - public void init(FilterConfig filterConfig) throws ServletException { - String authenticatorConfiguration = filterConfig.getInitParameter("authenticatorConfigurations"); - - //TODO make this able to read from a file as well - - - InputStream configurationFileStream = HttpAuthenticatorFilter.class.getClassLoader(). - getResourceAsStream(authenticatorConfiguration); - - if (configurationFileStream == null) { - String msg = "Invalid authenticator configuration. Cannot read file - ".concat(authenticatorConfiguration); - log.error(msg); - throw new ServletException(msg); - } - - AuthenticatorConfigurationReader authenticatorConfigurationReader - = new AuthenticatorConfigurationReader(); - try { - authenticatorConfigurationReader.init(configurationFileStream); - } catch (IOException e) { - String msg = "Error reading authenticator configurations."; - - log.error(msg, e); - throw new ServletException(msg, e); - } catch (ParserConfigurationException e) { - String msg = "Error parsing authenticator configurations."; - - log.error(msg, e); - throw new ServletException(msg, e); - } catch (SAXException e) { - String msg = "Error parsing authenticator configurations."; - - log.error(msg, e); - throw new ServletException(msg, e); - } finally { - try { - configurationFileStream.close(); - } catch (IOException e) { - log.error("Error closing authenticator file stream.", e); - } - } - - this.authenticatorList = authenticatorConfigurationReader.getAuthenticatorList(); - - if (this.authenticatorList.isEmpty()) { - String msg = "No authenticators registered in the system. System cannot function without authenticators"; - log.error(msg); - throw new ServletException(msg); - } - - } - - @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { - - // Firs check whether authenticators are disabled - if (! AuthenticatorConfigurationReader.isAuthenticationEnabled()) { - - // Extract user id and gateway id - try { - servletRequestHelper.addIdentityInformationToSession((HttpServletRequest) servletRequest); - } catch (AuthenticationException e) { - log.warn("Error adding identity information to session.", e); - populateUnauthorisedData(servletResponse, "Error adding identity information to session."); - - } - - filterChain.doFilter(servletRequest, servletResponse); - return; - } - - HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest; - - Authenticator authenticator = getAuthenticator(httpServletRequest); - - if (authenticator == null) { - //sendUnauthorisedError(servletResponse, "Invalid request. Request does not contain sufficient credentials to authenticate"); - populateUnauthorisedData(servletResponse, "Invalid request. Request does not contain sufficient credentials to authenticate"); - } else { - if (authenticator.isAuthenticated(httpServletRequest)) { - // Allow request to flow - filterChain.doFilter(servletRequest, servletResponse); - } else { - try { - if (!authenticator.authenticate(httpServletRequest)) { - //sendUnauthorisedError(servletResponse, "Unauthorised : Provided credentials are not valid."); - populateUnauthorisedData(servletResponse, "Invalid request. Request does not contain sufficient credentials to authenticate"); - } else { - // Allow request to flow - filterChain.doFilter(servletRequest, servletResponse); - } - } catch (AuthenticationException e) { - String msg = "An error occurred while authenticating request."; - log.error(msg, e); - //sendUnauthorisedError(servletResponse, e.getMessage()); - populateUnauthorisedData(servletResponse, "Invalid request. Request does not contain sufficient credentials to authenticate"); - } - } - } - } - - public static void sendUnauthorisedError(ServletResponse servletResponse, String message) throws IOException { - HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse; - httpServletResponse.sendError(HttpServletResponse.SC_UNAUTHORIZED, message); - } - - @Override - public void destroy() { - - this.authenticatorList = null; - } - - private Authenticator getAuthenticator(HttpServletRequest httpServletRequest) { - - for (Authenticator authenticator : authenticatorList) { - if (authenticator.canProcess(httpServletRequest)) { - return authenticator; - } - } - - return null; - } - - /** - * This method will create a 401 unauthorized response to be sent. - * - * @param servletResponse The HTTP response. - */ - public static void populateUnauthorisedData(ServletResponse servletResponse, String message) { - - HttpServletResponse httpServletResponse = (HttpServletResponse)servletResponse; - - httpServletResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED); - httpServletResponse.addHeader("Server", "Airavata Server"); - httpServletResponse.addHeader("Description", message); - httpServletResponse.addDateHeader("Date", Calendar.getInstance().getTimeInMillis()); - httpServletResponse.addHeader("WWW-Authenticate", "Basic realm=Airavata"); - httpServletResponse.setContentType("text/html"); - - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/session/ServletRequestHelper.java ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/session/ServletRequestHelper.java b/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/session/ServletRequestHelper.java deleted file mode 100644 index c4a2c47..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/java/org/apache/airavata/credentialstore/session/ServletRequestHelper.java +++ /dev/null @@ -1,129 +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.airavata.credentialstore.session; - -import org.apache.airavata.common.context.RequestContext; -import org.apache.airavata.common.context.WorkflowContext; -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.apache.airavata.common.utils.Constants; -import org.apache.airavata.common.utils.ServerSettings; -import org.apache.airavata.security.AuthenticationException; -import org.apache.commons.codec.binary.Base64; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.servlet.http.HttpServletRequest; - -/** - * Helper class to extract request information. - */ -public class ServletRequestHelper { - - /** - * Header names - */ - public static final String AUTHORISATION_HEADER_NAME = "Authorization"; - private final static Logger logger = LoggerFactory.getLogger(ServletRequestHelper.class); - protected void addIdentityInformationToSession(HttpServletRequest servletRequest) throws AuthenticationException { - - addUserToSession(null, servletRequest); - } - - public void addUserToSession(String userName, HttpServletRequest servletRequest) throws AuthenticationException { - - if (userName == null) { - userName = getUserName(servletRequest); - } - - String gatewayId = getGatewayId(servletRequest); - - if (servletRequest.getSession() != null) { - try { - servletRequest.getSession().setAttribute(Constants.USER_IN_SESSION, userName); - servletRequest.getSession().setAttribute(ServerSettings.getDefaultUserGateway(), gatewayId); - } catch (ApplicationSettingsException e) { - logger.error(e.getMessage(), e); - } - } - - addToContext(userName, gatewayId); - } - - String getUserName(HttpServletRequest httpServletRequest) throws AuthenticationException { - - String basicHeader = httpServletRequest.getHeader(AUTHORISATION_HEADER_NAME); - - if (basicHeader == null) { - throw new AuthenticationException("Authorization Required"); - } - - String[] userNamePasswordArray = basicHeader.split(" "); - - if (userNamePasswordArray == null || userNamePasswordArray.length != 2) { - throw new AuthenticationException("Authorization Required"); - } - - String decodedString = decode(userNamePasswordArray[1]); - - String[] array = decodedString.split(":"); - - if (array == null || array.length != 1) { - throw new AuthenticationException("Authorization Required"); - } - - return array[0]; - - } - - public String decode(String encoded) { - return new String(Base64.decodeBase64(encoded.getBytes())); - } - - String getGatewayId(HttpServletRequest request) throws AuthenticationException { - String gatewayId = null; - try { - gatewayId = request.getHeader(ServerSettings.getDefaultUserGateway()); - } catch (ApplicationSettingsException e1) { - logger.error(e1.getMessage(), e1); - } - - if (gatewayId == null) { - try { - gatewayId = ServerSettings.getDefaultUserGateway(); - } catch (ApplicationSettingsException e) { - throw new AuthenticationException("Unable to retrieve default gateway", e); - } - } - - return gatewayId; - } - - public void addToContext(String userName, String gatewayId) { - - RequestContext requestContext = new RequestContext(); - requestContext.setUserIdentity(userName); - requestContext.setGatewayId(gatewayId); - - WorkflowContext.set(requestContext); - } - -} http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/resources/airavata-server.properties ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/resources/airavata-server.properties b/modules/credential-store-service/credential-store-webapp/src/main/resources/airavata-server.properties deleted file mode 100644 index fb02901..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/resources/airavata-server.properties +++ /dev/null @@ -1,234 +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. -# - -########################################################################### -# -# This properties file provides configuration for all Airavata Services: -# API Server, Registry, Workflow Interpreter, GFac, Orchestrator -# -########################################################################### - -########################################################################### -# API Server Registry Configuration -########################################################################### - -#for derby [AiravataJPARegistry] -registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver -registry.jdbc.url=jdbc:derby://localhost:1527/persistent_data;create=true;user=airavata;password=airavata -# MySql database configuration -#registry.jdbc.driver=com.mysql.jdbc.Driver -#registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data -registry.jdbc.user=airavata -registry.jdbc.password=airavata -start.derby.server.mode=true -validationQuery=SELECT 1 from CONFIGURATION -jpa.cache.size=5000 -#jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true - -# Properties for default user mode -default.registry.user=admin -default.registry.password=admin -default.registry.password.hash.method=SHA -default.registry.gateway=default - -#ip=127.0.0.1 - -########################################################################### -# Application Catalog DB Configuration -########################################################################### -#for derby [AiravataJPARegistry] -appcatalog.jdbc.driver=org.apache.derby.jdbc.ClientDriver -appcatalog.jdbc.url=jdbc:derby://localhost:1527/app_catalog;create=true;user=airavata;password=airavata -# MySql database configuration -#appcatalog.jdbc.driver=com.mysql.jdbc.Driver -#appcatalog.jdbc.url=jdbc:mysql://localhost:3306/app_catalog -appcatalog.jdbc.user=airavata -appcatalog.jdbc.password=airavata -appcatalog.validationQuery=SELECT 1 from CONFIGURATION - -########################################################################### -# Server module Configuration -########################################################################### - -servers=apiserver,orchestrator,gfac,workflowserver -#shutdown.trategy=NONE -shutdown.trategy=SELF_TERMINATE - - -apiserver.server.host=localhost -apiserver.server.port=8930 -apiserver.server.min.threads=50 -workflow.server.host=localhost -workflow.server.port=8931 -orchestrator.server.host=localhost -orchestrator.server.port=8940 -gfac.server.host=localhost -gfac.server.port=8950 -orchestrator.server.min.threads=50 - -########################################################################### -# Credential Store module Configuration -########################################################################### -credential.store.keystore.url=/Users/lahirugunathilake/Downloads/airavata_sym.jks -credential.store.keystore.alias=airavata -credential.store.keystore.password=airavata -credential.store.jdbc.url=jdbc:derby://localhost:1527/persistent_data;create=true;user=airavata;password=airavata -credential.store.jdbc.user=airavata -credential.store.jdbc.password=airavata -credential.store.jdbc.driver=org.apache.derby.jdbc.ClientDriver - -notifier.enabled=false -#period in milliseconds -notifier.duration=5000 - -email.server=smtp.googlemail.com -email.server.port=465 -email.user=airavata -email.password=xxx -email.ssl=true -email.from=airavata@apache.org - -########################################################################### -# Airavata GFac MyProxy GSI credentials to access Grid Resources. -########################################################################### -# -# Security Configuration used by Airavata Generic Factory Service -# to interact with Computational Resources. -# -gfac=org.apache.airavata.gfac.server.GfacServer -myproxy.server=myproxy.teragrid.org -myproxy.username=ogce -myproxy.password= -myproxy.life=3600 -# XSEDE Trusted certificates can be downloaded from https://software.xsede.org/security/xsede-certs.tar.gz -trusted.cert.location=/Users/lahirugunathilake/Downloads/certificates -# SSH PKI key pair or ssh password can be used SSH based authentication is used. -# if user specify both password authentication gets the higher preference - -################# ---------- For ssh key pair authentication ------------------- ################ -#public.ssh.key=/path to public key for ssh -#ssh.username=username for ssh connection -#private.ssh.key=/path to private key file for ssh -#ssh.keypass=passphrase for the private key - - -################# ---------- For ssh key pair authentication ------------------- ################ -#ssh.username=username for ssh connection -#ssh.password=Password for ssh connection - - - -########################################################################### -# Airavata Workflow Interpreter Configurations -########################################################################### - -#runInThread=true -#provenance=true -#provenanceWriterThreadPoolSize=20 -#gfac.embedded=true -#workflowserver=org.apache.airavata.api.server.WorkflowServer - - -########################################################################### -# API Server module Configuration -########################################################################### -apiserver=org.apache.airavata.api.server.AiravataAPIServer - -########################################################################### -# Workflow Server module Configuration -########################################################################### - -workflowserver=org.apache.airavata.api.server.WorkflowServer - -########################################################################### -# Advance configuration to change service implementations -########################################################################### -# If false, disables two phase commit when submitting jobs -TwoPhase=true -# -# Class which implemented HostScheduler interface. It will determine the which host to submit the request -# -host.scheduler=org.apache.airavata.gfac.core.scheduler.impl.SimpleHostScheduler - -########################################################################### -# Monitoring module Configuration -########################################################################### - -#This will be the primary monitoring tool which runs in airavata, in future there will be multiple monitoring -#mechanisms and one would be able to start a monitor -monitors=org.apache.airavata.gfac.monitor.impl.pull.qstat.QstatMonitor,org.apache.airavata.gfac.monitor.impl.LocalJobMonitor - - -########################################################################### -# AMQP Notification Configuration -########################################################################### - - -amqp.notification.enable=1 - -amqp.broker.host=localhost -amqp.broker.port=5672 -amqp.broker.username=guest -amqp.broker.password=guest - -amqp.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPSenderImpl -amqp.topic.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPTopicSenderImpl -amqp.broadcast.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPBroadcastSenderImpl - -#,org.apache.airavata.gfac.monitor.impl.push.amqp.AMQPMonitor -#This is the amqp related configuration and this lists down the Rabbitmq host, this is an xsede specific configuration -amqp.hosts=info1.dyn.teragrid.org,info2.dyn.teragrid.org -proxy.file.path=/Users/lahirugunathilake/Downloads/x509up_u503876 -connection.name=xsede -#publisher -activity.listeners=org.apache.airavata.gfac.core.monitor.AiravataJobStatusUpdator,org.apache.airavata.gfac.core.monitor.AiravataTaskStatusUpdator,org.apache.airavata.gfac.core.monitor.AiravataWorkflowNodeStatusUpdator,org.apache.airavata.api.server.listener.AiravataExperimentStatusUpdator,org.apache.airavata.gfac.core.monitor.GfacInternalStatusUpdator,org.apache.airavata.workflow.engine.util.ProxyMonitorPublisher -publish.rabbitmq=false -activity.publisher=org.apache.airavata.messaging.core.impl.RabbitMQPublisher -rabbitmq.broker.url=amqp://localhost:5672 -rabbitmq.exchange.name=airavata_rabbitmq_exchange - -########################################################################### -# Orchestrator module Configuration -########################################################################### - -#job.submitter=org.apache.airavata.orchestrator.core.impl.GFACEmbeddedJobSubmitter -job.submitter=org.apache.airavata.orchestrator.core.impl.GFACServiceJobSubmitter -job.validators=org.apache.airavata.orchestrator.core.validator.impl.SimpleAppDataValidator,org.apache.airavata.orchestrator.core.validator.impl.ExperimentStatusValidator -submitter.interval=10000 -threadpool.size=10 -start.submitter=true -embedded.mode=true -enable.validation=true -orchestrator=org.apache.airavata.orchestrator.server.OrchestratorServer - -########################################################################### -# Zookeeper Server Configuration -########################################################################### - -embedded.zk=true -zookeeper.server.host=localhost -zookeeper.server.port=2181 -airavata-server=/api-server -orchestrator-server=/orchestrator-server -gfac-server=/gfac-server -gfac-experiments=/gfac-experiments -gfac-server-name=gfac-node0 -orchestrator-server-name=orch-node0 -airavata-server-name=api-node0 http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/client.xml ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/client.xml b/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/client.xml deleted file mode 100644 index bc721ed..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/client.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - myproxy:oa4mp,2012:/client/5a323fc6fcffcff7a95401046a303520 - https://oa4mp.xsede.org/oauth - https://localhost:8443/credential-store/callback - - 864000 - /Users/chathuri/dev/airavata/credential-store/oa4mp/oauth-pubkey.pem - /Users/chathuri/dev/airavata/credential-store/oa4mp/oauth-privkey.pk8 - - - - http://gw120.iu.xsede.org/PHP-Reference-Gateway/ - /credential-store/error.jsp - /credential-store/show-redirect.jsp - - - http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/oauth-privkey.pk8 ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/oauth-privkey.pk8 b/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/oauth-privkey.pk8 deleted file mode 100644 index 60f5b03..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/oauth-privkey.pk8 +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCx/4hqCePa3scs -oyGuwjnNdQCGfoPBlaCfl02Xq4L623EygIVo0faCX1ZZ/gA9ldw0TqZ6weCHfGck -22TLeFQnJ4plAqJMMUbYwqmhnSsC9zTuc+c/yzcvdw2aCLPkMXnofFUasQEGhPI3 -/avTHOeUYBeu4ZU3u7G2Dp0jMDg1yh95v0FnGAjSPSBWQm1q4sxT90YB8jZyGvZ8 -kRs4S9Ik8Vz1VKNHJ16LZOuThfsRV4Af7vM8jXztjKUsrxQf1ZpKauAvXbJcDS2O -pTjHWSvASk2pQxnDZDNcENE40MtG7V7qiDblMCuYumO8xnsJIGLreMKnSOQZKnDL -uoBPNLB9AgMBAAECggEBAIJtcfHxaUr5rwygRJAftec88rOahMUW9Om8Hpkijglv -PtT4o8kZAP6rCUVL/7Ug2IhjkU2mPvZIS/QP5x3JADDoolo9wdr+yKEQkuffmKLF -rb2EpFB0ge1/2TGjat2s+11Frb6vMMcsJ6ircnpxVae9ed0lYwfBuwhiUPZ14NpY -Figcq4mbM1fOmKIc035sR/fRVeuSEYPguw0sZkkx9LPGluvNXypwhfho60WCpxaB -tgAadJRQgTEqz4kjHDD7xqY0w/KUJyqCOaJHnv2RmrdwrzDWFls6ETcc93PmINJU -Mt2uLZZdd2nlZki91EhHA5XpPC1LoM2qXKaShfUMDWkCgYEA2oSVtz0ftT1njuX2 -OjsJi3ENOjmSuHaw81h72ZcIskCVrxZVeq0LGJdBQt361Q5ZhtnIgPA1bJXWtQ9s -miFGkkPiPJb5GI45aLqpv+dJ/F/tXa0Q9LN++hfW8fKN8LejlM6tTiiYs3EqYEXO -qqcLPoptxak8ZwDkOfj8yvJib6cCgYEA0IesCrCy8fpjVeDQdiAlIZqsecPJ2+Fz -jLMik2hvAk6Yiyd8DmK8HMtSPfYMN4BhiphW49TXSyIoFEeCRQE8KMdSu3W4Z1wP -AURZzQL78GRHc1n7EgCi2gzu38rSQDekmaQYr/hw+IlTpURjT68pDGKYXOybbjxu -zUb67PHaAzsCgYADgs/ZAt1ojxUD4cQECYDMwcNBpT0rQ5TyRACxbVDRdGIzTvuO -ngsomP2OcnyeQb3EgelL0RA6r2mkvRu0mkZFAVw4NwDHmTlo6l7h23h/2pa4w5gb -Jmsq34kvmAMZ1AmH0Y5NTC+v6miQ5W49pbNzjMvYujBjQ0tndw2wwRY9zwKBgQDG -FksgcI/b+z1Hg+Kig5CiJlr25DypibWJD1Wl74ucBmszrNNUmwgU1jOOtl8Ojf6a -eHH5xOKq9YxbDz65LB4oood9masNTE7YpkQj0lTfG3MgKXatuDr6pVR49CLba8AJ -Tu9AoeE2xsTVdmxccoiswi/3/a78fZ3HlEiism+lpwKBgCx7aX3MESqgxbf1kHgI -Tu0nnvu06UwzAhBU6IpGKCqwu8zwfGN/PTTTz95hySUc1S4fSLuHVrdTAQTT3Zwr -hwX85AxYdiyGhbeXFLue+eDWQ7PxAKXfRAwsKpdC72ixkXVqnVRh2yhRMPqKqnEu -A5i3nuKHICZgD2fwQf+A8OL6 ------END PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/oauth-pubkey.pem ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/oauth-pubkey.pem b/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/oauth-pubkey.pem deleted file mode 100644 index f094a6d..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/resources/credential-store/oauth-pubkey.pem +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsf+Iagnj2t7HLKMhrsI5 -zXUAhn6DwZWgn5dNl6uC+ttxMoCFaNH2gl9WWf4APZXcNE6mesHgh3xnJNtky3hU -JyeKZQKiTDFG2MKpoZ0rAvc07nPnP8s3L3cNmgiz5DF56HxVGrEBBoTyN/2r0xzn -lGAXruGVN7uxtg6dIzA4Ncofeb9BZxgI0j0gVkJtauLMU/dGAfI2chr2fJEbOEvS -JPFc9VSjRydei2Trk4X7EVeAH+7zPI187YylLK8UH9WaSmrgL12yXA0tjqU4x1kr -wEpNqUMZw2QzXBDRONDLRu1e6og25TArmLpjvMZ7CSBi63jCp0jkGSpwy7qATzSw -fQIDAQAB ------END PUBLIC KEY----- http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/webapp/WEB-INF/web.xml ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/webapp/WEB-INF/web.xml b/modules/credential-store-service/credential-store-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 252f889..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - org.apache.airavata.credential.store.servlet.CredentialBootstrapper - - - - oa4mp:client.config.file - ${catalina.home}/webapps/credential-store/WEB-INF/classes/credential-store/client.xml - - - - - credential-store-jdbc-url - jdbc:mysql://localhost/airavata - - - - credential-store-db-user - root - - - - credential-store-db-password - root123 - - - - credential-store-db-driver - com.mysql.jdbc.Driver - - - - - - CORS Filter - org.ebaysf.web.cors.CORSFilter - - A comma separated list of allowed origins. Note: An '*' cannot be used for an allowed origin when using credentials. - cors.allowed.origins - * - - - cors.allowed.methods - GET,POST,HEAD,OPTIONS,PUT - - - cors.allowed.headers - Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Authorization - - - cors.exposed.headers - - - - cors.support.credentials - true - - - cors.logging.enabled - false - - - cors.preflight.maxage - 1800 - - - cors.request.decorate - true - - - - - CORS Filter - /user-store/* - - - - - - - credential-store-start - - org.apache.airavata.credential.store.servlet.CredentialStoreStartServlet - - 1 - - - - - credential-store-start - - /acs-start-servlet - - - - - callback - - org.apache.airavata.credential.store.servlet.CredentialStoreCallbackServlet - 1 - - - - - callback - - /callback - - - \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/webapp/acs/index.jsp ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/webapp/acs/index.jsp b/modules/credential-store-service/credential-store-webapp/src/main/webapp/acs/index.jsp deleted file mode 100644 index e7626fa..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/webapp/acs/index.jsp +++ /dev/null @@ -1,44 +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. - --%> - - - -

Sample Portal

-

This demonstrates how portal can use Credential Store to obtain community credentials ...

-
- - - - - - - - - - - - - - -
Gateway Name
Portal Username
Contact Email
- - -
- - http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/error.jsp ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/error.jsp b/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/error.jsp deleted file mode 100644 index adc430d..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/error.jsp +++ /dev/null @@ -1,53 +0,0 @@ -<%@ page import="org.apache.airavata.credential.store.util.CredentialStoreConstants" %> -<%-- - ~ 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. - --%> - - -<% - String gatewayName = request.getParameter(CredentialStoreConstants.GATEWAY_NAME_QUERY_PARAMETER); - String portalUserName = request.getParameter(CredentialStoreConstants.PORTAL_USER_QUERY_PARAMETER); - Throwable exception = (Throwable) request.getAttribute("exception"); - -%> - - - -

Credential Store

-

An error occurred while processing

-

- Gateway Name - <%=gatewayName%>. Portal user name - <%=portalUserName%>. - Exception - - -

- -

- <% - - out.println("Exception - " + exception.getMessage()); - out.println(); - StackTraceElement[] elements = exception.getStackTrace(); - for (StackTraceElement element : elements) { - out.print(" "); - out.println(element.toString()); - } - - %> -

- - http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/password-credentials.jsp ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/password-credentials.jsp b/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/password-credentials.jsp deleted file mode 100644 index 59a1e04..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/password-credentials.jsp +++ /dev/null @@ -1,33 +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. - --%> - - - -

Store Passwords

-

This demonstrates how portal can use Credential Store to obtain community credentials ...

-
- - Gateway Name :
- Portal Username:
- Contact Email: - - -
- - \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/show-redirect.jsp ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/show-redirect.jsp b/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/show-redirect.jsp deleted file mode 100644 index 84b54cf..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/show-redirect.jsp +++ /dev/null @@ -1,44 +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. - --%> - -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - -<% - String redirectUrlInRequest = (String) request.getAttribute("redirectUrl"); -%> - - - - - - -

You will be now redirect to MyProxy portal !

-

- If your browser didn't redirect to MyProxy Portal within 1 minute click following link, -

<%=redirectUrlInRequest%> -

- - - \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/58c58cf2/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/success.jsp ---------------------------------------------------------------------- diff --git a/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/success.jsp b/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/success.jsp deleted file mode 100644 index f2964d0..0000000 --- a/modules/credential-store-service/credential-store-webapp/src/main/webapp/credential-store/success.jsp +++ /dev/null @@ -1,25 +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. - --%> - - - -

Credential Store

-

Certificate Successfully Stored !

- - \ No newline at end of file