Commit Graph

76 Commits

Author SHA1 Message Date
Shrikant Sharat Kandula
368ed79f4b
Removed OPA config (#291)
* Removed OPA config along with the bundle and rules files
2020-08-12 16:52:42 +05:30
Arpit Mohan
c15f83dbc3
Adding configuration variables for MAIL_FROM and REPLY_TO in EmailConfig (#97)
The MAIL_FROM & REPLY_TO addresses default to appsmith@localhost. This should be changed in the generated docker.env file during deployment to actual values.

Most email providers will not send emails unless they originate from a valid sender ID.
2020-07-15 15:47:33 +05:30
Trisha Anand
fd0f23b9cc
Database credentials encryption in MongoDB (#80)
* Encrypting the password stored in AuthenticationDTO for every db.

* Adding comment to the properties file to denote that adding encryption salt and password are mandatory to the server coming up.

* Added the encryption salt and password to server.yml to allow the github actions to succeed.

* Adding database migration to encrypt the existing passwords for authentication object (used for storing db connection username/password)

Changes to the installation script install.sh:

1. Instead of overwriting the existing encryption password or salt, giving the user an option to conserve the previous encryption credentials to ensure that the developer users do not lose access to their database configurations (passwords).
2. Added another file for writing encryption credentials (encryption.env) to ensure that we dont delete the encryption password and salt by mistake.
2020-07-14 14:45:08 +05:30
Trisha Anand
4a720b80e2
Removing the marketplace basic auth credentials which was hard coded into the code to environment variable. (#71) 2020-07-09 22:38:21 +05:30
Shrikant Sharat Kandula
56547ec02f
Move application configuration to be loaded from environment variables (#23)
* Move application configuration to be loaded from environment variables
* Remove unused sentry.properties
* Make missing value sentinel a constant and ignore all *.env files
* Removed now-used ACL properties
* Prefix RapidAPI environment variable with APPSMITH_
* Fix application properties not being loaded into static fields
* Remove application-test.properties file
* Add required env variables for test in GitHub
* Quote URLs for MongoDB and Redis in test config
* Change RAPIDAPI to RAPID_API in environment variable names
* Source .env file in the root of repo in start script
2020-07-06 14:35:56 +05:30
Trisha Anand
73757c3425 Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	.gitignore
#	appsmith-plugins/mongoPlugin/plugin.properties
#	appsmith-plugins/postgresPlugin/plugin.properties
#	appsmith-plugins/rapidApiPlugin/plugin.properties
#	appsmith-plugins/restApiPlugin/plugin.properties
#	appsmith-plugins/restApiPlugin/src/main/java/com/external/plugins/RestApiPlugin.java
#	appsmith-server/src/main/java/com/appsmith/server/constants/FieldName.java
#	appsmith-server/src/main/java/com/appsmith/server/repositories/ActionRepository.java
#	appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java
#	appsmith-server/src/main/java/com/appsmith/server/services/DatasourceContextServiceImpl.java
#	appsmith-server/src/main/java/com/appsmith/server/services/DatasourceServiceImpl.java
#	appsmith-server/src/test/java/com/appsmith/server/services/ActionServiceTest.java
#	appsmith-server/src/test/java/com/appsmith/server/services/ApplicationServiceTest.java
#	appsmith-server/src/test/java/com/appsmith/server/services/LayoutServiceTest.java
#	appsmith-server/src/test/java/com/appsmith/server/services/PageServiceTest.java
#	build.sh
2020-06-12 19:14:31 +05:30
Trisha Anand
a31796a216 Removed the usage of get current organization id. Requires addition of organization id to a few api calls. 2020-06-08 06:45:04 +00:00
Trisha Anand
f8cf87e3c8 Invite existing user to an organization works. Updated the test case for adding user to an organization as well to use the new API. 2020-06-01 17:39:27 +00:00
Arpit Mohan
158f5c8203 Adding the ForwardedHeaderTransform bean to enable spring to parse X-Forwarded-* headers from Nginx proxy 2020-05-19 09:22:33 +05:30
Trisha Anand
2d1fe9d8b4 Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-interfaces/src/main/java/com/appsmith/external/models/SSHPrivateKey.java
#	appsmith-server/src/main/java/com/appsmith/server/filters/AclFilter.java
#	appsmith-server/src/main/java/com/appsmith/server/services/CurlImporterService.java
#	appsmith-server/src/test/java/com/appsmith/server/services/CurlImporterServiceTest.java
2020-04-28 18:13:06 +05:30
Shrikant Kandula
090e00ee13 Add delete service operation for datasources. 2020-04-27 08:01:16 +00:00
Trisha Anand
d7d31a43da Fixed compile time error. 2020-04-20 18:30:47 +05:30
Trisha Anand
373c9ac738 Code formatting corrected. 2020-04-20 18:17:25 +05:30
Trisha Anand
6be0b7ae23 Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-server/pom.xml
#	appsmith-server/src/main/java/com/appsmith/server/migrations/DatabaseChangelog.java
#	appsmith-server/src/main/java/com/appsmith/server/repositories/BaseRepositoryImpl.java
#	appsmith-server/src/main/java/com/appsmith/server/services/LayoutActionServiceImpl.java
#	appsmith-server/src/test/java/com/appsmith/server/services/OrganizationServiceTest.java
2020-04-20 18:13:55 +05:30
Shrikant Kandula
c8dee3f279 Add Spring application property to enable/disable Rollbar.
It is enabled by default.
2020-04-08 11:23:28 +00:00
Trisha Anand
2e09f7923c Merge branch 'release' of gitlab.com:theappsmith/internal-tools-server into release 2020-04-02 17:17:52 +05:30
Trisha Anand
dcb74a7be7 Updated the marketplace URL after deploying of marketplace service 2020-04-02 17:17:19 +05:30
Arpit Mohan
b7b7328c3f Merge branch 'release' into feature/acl-spring-object 2020-04-02 13:53:31 +05:30
Arpit Mohan
f165f0b772 Setting the active profile as environment in Rollbar configuration
This will help us segment errors from different environments more easily in the Rollbar UI
2020-04-02 13:49:53 +05:30
Arpit Mohan
01c4a2cc8b Updating the redis credentials for staging because Heroku keeps changing it 2020-04-02 13:22:11 +05:30
Trisha Anand
f882ffcdf3 Fetching the providers from the Marketplace using webclient. Introduced a temporary end point to support the new source for Providers 2020-04-01 18:53:39 +00:00
Arpit Mohan
a892ee90b5 Merge release branch 2020-03-13 12:47:16 +05:30
Arpit Mohan
0c5fc27450 Correcting the writeKey for Segment in Staging
Also adding Mono.cache in the user invite flow to ensure that the same Mono is not executed multiple times.
2020-03-12 16:44:31 +05:30
Arpit Mohan
68fd2f21d9 Updating the communication emails to users for signup, forgot password and invite user flows
Also adding the Origin header to the BaseController create function. This is required by the user creation flow in order to customize the links in the email. For most of the controllers overriding the BaseController, the request header parameter is non-mandatory and can be skipped for testing or otherwise.
2020-03-10 18:58:28 +05:30
Arpit Mohan
9f3197792a WIP Commit to save the dev state 2020-03-04 18:57:46 +05:30
Trisha Anand
f97053a314 Marketplace GET Controller & Add an action/template to current page 2020-03-04 07:50:54 +00:00
Arpit Mohan
249bbbde39 Adding the field shouldCacheResponse to the ActionExecutionResult to make the response caching generic across various plugins 2020-02-25 11:36:02 +00:00
Arpit Mohan
6a93b948b7 Increasing the request buffer size to 5 MB in the default application.properties file
This is required for file uploading widgets to be able to successfully upload files.
2020-02-24 14:30:11 +05:30
Arpit Mohan
786aca059e Revert "Merge branch 'feature/embedded-datasource' into 'release'"
This reverts commit 35b49833615d88bc484207670b8ddf645f70d1ad, reversing
changes made to 29bee80c426b4c469bf8e774b7febf4f63b196b4.
2020-02-24 11:31:58 +05:30
Arpit Mohan
df2d7d2b3d Increasing the maximum buffer size for requests to 5 MB 2020-02-24 10:53:45 +05:30
Trisha Anand
a7881935da This fixes the bug during refactor of name of a widget/action. This bug is recreatable if in the page there is an action with no jsonPathKeys. Handled the null pointer exception by first checking for the null pointer. 2020-02-21 07:19:46 +00:00
Arpit Mohan
f76d40482d Merge branch 'release' of gitlab.com:theappsmith/internal-tools-server into release 2020-02-14 14:23:13 +05:30
Arpit Mohan
a05adf4293 Adding checks to ensure that we can remove the oauth2 allowed domains from the properties file
We now create another list from the value provided in the properties file. All checks in the codebase are performed against this list. This ensures that there are no NPE and exceptions when the property oauth2.allowed-domains is removed from the properties file.
2020-02-14 14:22:59 +05:30
Trisha Anand
2e11a5c2d5 Added datasource configuration to the provider to support the provider level configurations in rapid api 2020-02-14 06:32:34 +00:00
Arpit Mohan
23641a7e9a Removing Google Auth domain restrictions for all environments
In the SaaS version, we want folks from all domains to be able to sign up to the platform
2020-02-13 10:03:25 +05:30
Trisha Anand
8661f71a80 Mock apis for 3P frontend work 2020-02-07 09:05:14 +00:00
Arpit Mohan
3838338099 Adding the permission to delete pages to acl.rego file 2020-02-05 08:34:32 +05:30
Arpit Mohan
8e8152ea63 Adding permission to delete the application by a user 2020-01-29 14:52:45 +05:30
Arpit Mohan
bf6a80074e Adding connection pooling to MongoDB to prevent too many connections from opening up 2020-01-16 15:07:15 +05:30
Arpit Mohan
2b0a21bbab Cleaning up the Github OAuth2 login flow by adding userNameAttribute to properties
This property helps define for Spring security which field in the OAuth2 user info to read in order to determine the username of the user. This is because this field is non-standard across different OAuth2 implementations. For each new OAuth2 provider that we support, this field will be required. Else the default name field will be picked up by Spring security (which is usually the id of the user).
2020-01-14 08:36:54 +05:30
Arpit Mohan
56b54e1d17 Fixing bugs in the Github login flow to check for uniqueness of user
Github auth doesn't return the email ID of the user. Hence, we need to use the `login` attribute of the user profile information.
2020-01-13 15:50:00 +05:30
Arpit Mohan
db27e7c86c Adding Github login feature. Also adding condition to limit domain access in Google OAuth2
The domain restriction has been done by adding parameter `hd` in the function CustomServerOAuth2AuthorizationRequestResolver#authorizationRequest. We still verify if the OAuth2 response has the parameter `hd` to ensure that no client side manipulation has been performed.
2020-01-13 12:13:53 +05:30
Arpit Mohan
7622d76f32 Adding the property server.use-forward headers in order for Spring security to function properly behind a Nginx load balancer
This property helps the spring security library derive the host name, protocol and port accurately even while running behind a Nginx load balancer. This is because nginx adds X-Forward-* headers that are parsed by Spring security library.
2020-01-13 10:25:43 +05:30
Arpit Mohan
70e9adbef6 Correcting the redirect uri property name in the config file for custom OAuth2 redirection
This is required because when we host inside a docker container, the default host and port picked up by the code is the docker container's name & port. This will not work when Google (for example) needs to redirect back to our server after authentication is complete. Hence, we need to customize the default redirect uri for all OAuth2 endpoints.
2020-01-10 17:06:05 +05:30
Arpit Mohan
ca40bb842f Sending HTML template emails to users when they signup, invite another user or reset their password. 2020-01-03 09:44:17 +00:00
Trisha Anand
30b094c7a5 Curl Parsing for http. Extracts : Method, Headers, Query Params, URL (without query params). Yet to finish Body 2020-01-02 13:38:55 +00:00
Arpit Mohan
5081292fd8 Adding the invite user flow to invite a new user into the organization.
Also extending the redis session timeout to 1 day instead of 30 mins.
2019-12-23 08:54:12 +05:30
Arpit Mohan
20ea476dc7 Correcting the HTTP methods for the public urls of forgotPassword & resetPassword 2019-12-19 13:04:13 +05:30
Arpit Mohan
f75331b116 Adding a flag to determine if we should send emails for that particular environment 2019-12-19 13:02:48 +05:30
Arpit Mohan
bcba9d3415 Creating a list of public endpoints that anonymous users can access.
OPA controls access to all endpoints and the list of authenticated resources and public URLs is defined in a single place in that file.

The url_allow function in acl.rego is an overloaded function that replicates the OR condition in Rego. Either the user is authenticated and has permissions to access those resources, or the URL is public and accessible by any user.
2019-12-17 09:28:59 +05:30