Commit Graph

250 Commits

Author SHA1 Message Date
Rory Powell ea7ebafe12 Add database test configuration to auth package 2021-07-15 12:55:35 +01:00
mike12345567 f6a133e556 Cleaning up deployments into the app DB, moving API keys to be in global DB (which will be tenancy managed) and adding concept of platform info DB. 2021-07-14 16:29:32 +01:00
Rory Powell 3152bd1839 Invert logos config naming to prevent conflict 2021-07-14 15:48:29 +01:00
mike12345567 004f719dde Renaming groups to workspaces. 2021-07-13 17:27:04 +01:00
Peter Clement 9dd05ec96e Add UUID to each oidc config to distinguish each provider 2021-07-13 15:52:21 +01:00
Rory Powell 6c8a025760 Setup common test data 2021-07-13 12:08:58 +01:00
Rory Powell b47073ae49 Remove redundant check on requireLocalAccount 2021-07-13 10:46:27 +01:00
Rory Powell f7d91f7cd6 Test google auth strategy 2021-07-13 10:17:14 +01:00
Rory Powell fc3d7122a7 Add jest to auth package + test oidc strategy 2021-07-13 10:02:08 +01:00
Andrew Kingston aa2691a452 Merge pull request #1953 from Budibase/client-feature-flags
Client library updating and client library feature awareness
2021-07-09 16:52:45 +01:00
Rory Powell baaaf3f237 Update clientId -> clientID 2021-07-09 16:21:42 +01:00
Rory Powell a98ae5b367 Remove review comment 2021-07-09 09:37:52 +01:00
Rory Powell 73c8dcf71b Merge branch 'develop' into feature/oidc-support 2021-07-08 20:15:16 +01:00
Rory Powell 20b70a0445 Always maintain original user id. No longer remove old user during sync 2021-07-08 16:49:07 +01:00
Rory Powell faf711e092 sync third party profile on every login 2021-07-08 16:11:48 +01:00
Rory Powell 1c18b4c6ac remove duplicate scope definition
scope can be defined both within the strategy declaration or when invoking passport
2021-07-08 15:21:54 +01:00
Rory Powell c16cfc328f Linting 2021-07-08 13:12:25 +01:00
Rory Powell ec93d15462 Integrate with configuration ui / support for email usernames 2021-07-08 13:04:04 +01:00
Andrew Kingston a7a081da8c Add application/json as a known file type 2021-07-08 12:55:51 +01:00
Rory Powell bf94125d33 Save email from third party user 2021-07-08 11:54:16 +01:00
Rory Powell f0016f4bde Merge branch 'feature/oidc-support' of github.com:Budibase/budibase into feature/oidc-support 2021-07-08 11:12:45 +01:00
Rory Powell 25f1368227 Merge google/oidc user authentication and surface user relevant error messages during authentication 2021-07-08 11:12:34 +01:00
mike12345567 93302cb667 Linting. 2021-07-07 23:30:14 +01:00
mike12345567 4916ff7eb8 Adding sessions API. 2021-07-07 23:29:19 +01:00
Peter Clement 2e49686eab Merge branch 'feature/oidc-support' of https://github.com/Budibase/budibase into oidc-config-management 2021-07-07 17:42:31 +01:00
mike12345567 93cc9530ed Merge branch 'develop' of github.com:Budibase/budibase into feature/user-session 2021-07-07 17:17:16 +01:00
mike12345567 7f0fc5f899 Fixing session issues after testing a bit. 2021-07-07 17:15:53 +01:00
Peter Clement cff2a9ad7d Fix for icon upload issue 2021-07-07 16:18:18 +01:00
Rory Powell d6c6681220 Fallback to ID token to retrieve email when not available in passport profile (oidc userinfo) 2021-07-07 14:58:14 +01:00
Peter Clement 37b1200051 Allow user uploaded icons in oidc config 2021-07-07 13:41:09 +01:00
Martin McKeaveney 13517d5298 make logged in users basic by default, prevent allowing users to be assigned as default in the UI 2021-07-06 18:43:04 +01:00
mike12345567 b847f85d91 WIP - first version of user sessions. 2021-07-06 18:10:04 +01:00
Martin McKeaveney aa0906bcad public role in builder backend UI 2021-07-06 17:19:53 +01:00
Martin McKeaveney 68df47e22f default to public in UI 2021-07-06 17:19:03 +01:00
Martin McKeaveney 25fd9cd54f default users without roles to public role 2021-07-06 17:13:02 +01:00
Rory Powell 71ddd41877 Improve error handling on openid-configuration request 2021-07-06 10:03:40 +01:00
Rory Powell 7803540399 Use configuration url to retrieve oidc endpoints
The /.well-known/openid-configuration endpoint can be used to
retrieve the majority of configuration needed for oidc

Additionally refactor the callback url to be generated on the server
side as this is a fixed endpoint.

Add linting fixes
2021-07-06 10:03:40 +01:00
Bernhard Hayden baab7141c0 Proof of concept OIDC implementation 2021-07-06 10:03:40 +01:00
Peter Clement 0e6fb73b9e Add validation to backend for OIDC configuration 2021-07-05 14:27:19 +01:00
mike12345567 fd45ac86ab Fixing issue with Redis which was causing CPU peaking if couldn't connect. 2021-06-25 15:32:59 +01:00
mike12345567 f4757aeee1 Fixing issues discovered by cypress tests. 2021-06-21 18:37:14 +01:00
mike12345567 ed5dd08c66 Fixing authentication with API key issue. 2021-06-21 17:13:06 +01:00
Martin McKeaveney fbc09f4b4a Merge pull request #1667 from Budibase/fix/stability-bugfixes
Fix/stability bugfixes
2021-06-08 19:40:41 +01:00
mike12345567 72c3ff8c2e Formatting. 2021-06-08 18:06:56 +01:00
mike12345567 fe66c3535c Fixing a collection of issues, specifically users being exported/imported and issues with database import causing weirdness (metadata doc being wrong). 2021-06-08 18:06:16 +01:00
Martin McKeaveney feca6cc962 remove builder role from google auth, only allow google sign in if local account exists 2021-06-08 14:46:18 +01:00
mike12345567 1e9ce62261 Merge branch 'master' of github.com:Budibase/budibase into fix/cypress-fixes 2021-06-07 13:22:27 +01:00
mike12345567 fe4fcad77c Fixing issue with builder not always having the correct roles to view an app - global builders are now admins in all apps. 2021-06-04 12:13:29 +01:00
Martin McKeaveney ca6735a11a set content type on client lib upload 2021-06-03 21:33:44 +01:00
Martin McKeaveney e927f44c12 removing superfluous controllers 2021-06-01 20:22:56 +01:00
Martin McKeaveney edfc23454d Merge branch 'master' of https://github.com/Budibase/budibase into lab-day-2705 2021-06-01 19:24:24 +01:00
mike12345567 bdc0567464 Merge branch 'master' of github.com:Budibase/budibase into fix/cypress-fixes 2021-06-01 15:25:37 +01:00
Martin McKeaveney a00357838d remove log 2021-06-01 15:03:19 +01:00
Martin McKeaveney 36b39ef4df merge google accounts, improve connection pooling for RDBMS 2021-06-01 15:00:28 +01:00
Martin McKeaveney 0c90f9ffc5 adding watchtower to docker config 2021-05-28 10:09:32 +01:00
mike12345567 1146d508fd Fixing app cypress test cases. 2021-05-25 13:25:42 +01:00
Martin McKeaveney 064f1e961b sanitizing client lib URL 2021-05-24 21:30:46 +01:00
mike12345567 ab4e880807 Fixing issue with redis updates in tests. 2021-05-24 17:05:46 +01:00
mike12345567 85102fab4e Changing how connection is waited for. 2021-05-24 16:31:50 +01:00
mike12345567 3a9a32f5f6 Adding an initial connection timeout of 5 seconds which after it will retry again. 2021-05-24 16:30:24 +01:00
mike12345567 7e6f215598 Linting and fixing an issue with the dev pass through. 2021-05-24 16:20:02 +01:00
mike12345567 4b786f51d2 Formatting. 2021-05-24 14:56:23 +01:00
mike12345567 0a4c4f1cc0 Adding some changes for to redis library, allowing reconnection. 2021-05-24 14:54:47 +01:00
mike12345567 c6a6d49cd7 Updating administration middleware so that internal requests allowed through automatically. 2021-05-21 16:43:01 +01:00
mike12345567 a54b582e0d Updating UI to use the updated at. 2021-05-21 14:38:58 +01:00
mike12345567 6ccec1632a Adding a debounced updated at timestamp to applications. 2021-05-21 13:07:10 +01:00
mike12345567 c6f7f115b5 Fixing issues with the user table within the apps. 2021-05-19 15:55:00 +01:00
mike12345567 0bbd45b413 Adding the ability to get all apps, with the status attached. 2021-05-19 15:09:57 +01:00
Martin McKeaveney ee9a097979 lint 2021-05-17 21:43:50 +01:00
mike12345567 17504443df Merge branch 'feature/draft-apps' of github.com:Budibase/budibase into feature/draft-apps 2021-05-17 14:24:36 +01:00
mike12345567 277ceb3ad1 Updating role system to never think about the dev app. 2021-05-17 14:20:19 +01:00
Martin McKeaveney fc7ddbe540 merge 2021-05-16 21:29:07 +01:00
Martin McKeaveney 0f2bcf581d revert functionality working 2021-05-16 21:25:37 +01:00
mike12345567 a61edd8124 Formatting. 2021-05-14 16:32:51 +01:00
mike12345567 c947199558 Adding administration roles API. 2021-05-14 16:31:07 +01:00
mike12345567 cea82f9335 A general re-work of some parts of the auth lib, as well as moving roles/permissions around to make it possible to build an admin API which has role knowledge. 2021-05-14 15:43:41 +01:00
Martin McKeaveney 95c80f2b4a set up live replication between prod and dev instances 2021-05-13 17:24:32 +01:00
mike12345567 fa0544054b Fixing an issue with portal calls causing the app to be re-locked. 2021-05-13 15:32:03 +01:00
mike12345567 6056b8bb61 Fixing issues with redis keys, however still not removing lock. 2021-05-13 14:34:04 +01:00
mike12345567 81c5ed5554 Altering object store so that all writes/reads to the object store have the dev app prefix replaced with standard app. 2021-05-13 13:29:53 +01:00
Martin McKeaveney c3e7548255 dev mode E2E 2021-05-13 11:06:08 +01:00
mike12345567 2021c59dd9 Putting together redis lock system. 2021-05-12 17:37:09 +01:00
mike12345567 13b1e78ee2 Merge branch 'next' of github.com:Budibase/budibase into feature/draft-apps 2021-05-12 12:49:42 +01:00
mike12345567 2ec6b15e56 General cleanup, doing away with the concept of hosting in the builder and the generally confusing difference between cloud, self hosting and running locally - server is simply always a server now. 2021-05-11 17:49:26 +01:00
mike12345567 8e1f18e456 Changing INTERNAL_KEY to INTERNAL_API_KEY. 2021-05-11 15:23:03 +01:00
mike12345567 7736869148 Some updates, working towards supporting automation send smtp email also removing the styling template, adding to base. 2021-05-11 12:02:29 +01:00
Martin McKeaveney 8174f44d40 pull template type from body instead of params 2021-05-10 14:41:52 +01:00
mike12345567 4e3bc326b4 Updating with a tested and functional API for uploading files for configs. 2021-05-07 13:55:30 +01:00
Michael Drury 5006ca90c4 Some general backend cleanup. moving packages around, removing some traces of electron, and prepping for standardised object store library. 2021-05-06 19:27:24 +01:00
Martin McKeaveney 559b8789f6 merge with next 2021-05-06 11:56:53 +01:00
mike12345567 8c1f274fbb Making some changes to how configs are scoped. 2021-05-06 10:51:21 +01:00
Martin McKeaveney 39b293aa9d endpoint for budibase configuration checklist 2021-05-05 20:58:31 +01:00
mike12345567 82687bad26 Merge branch 'next' of github.com:Budibase/budibase into feature/password-reset 2021-05-05 18:00:22 +01:00
mike12345567 2ee4fd21e4 Updating testing system across the board after playing around with it, having the worker tests run when top level test is ran, fixing environment in worker when testing, removing the use of redis (replacing with ioredis-mock) when in test. 2021-05-05 17:49:34 +01:00
mike12345567 7bc3514fc1 Finalising the usage of redis in the password reset and invitation systems. 2021-05-05 15:10:28 +01:00
mike12345567 b372d2a824 Fleshed out fully all redis interactions for invitations and password resets. 2021-05-05 12:11:06 +01:00
Martin McKeaveney 77830bec4f lint and tidy 2021-05-04 18:14:13 +01:00
mike12345567 1cf778845a Fixing issues with Redis/Bull and the integration with new redis module. 2021-05-04 18:13:44 +01:00
Martin McKeaveney cb02c9bf58 google oauth UI 2021-05-04 17:31:06 +01:00
mike12345567 b01da0aad5 Merge branch 'next' of github.com:Budibase/budibase into feature/password-reset 2021-05-04 15:21:53 +01:00
Andrew Kingston 797e8a8b67 Add explicit prettier options 2021-05-04 11:32:22 +01:00
Keviin Åberg Kultalahti 0afbf1649e lint:fix 2021-05-03 09:31:09 +02:00
mike12345567 58ca0d4224 Updating auth middleware to accomodate public endpoints for the server properly and some refactoring. 2021-04-28 18:13:21 +01:00
mike12345567 60b61f1322 Fixing login issue. 2021-04-28 14:28:25 +01:00
mike12345567 adce859f98 Formatting. 2021-04-27 17:30:19 +01:00
mike12345567 08c158c121 Adding a redis client to the auth system, as part of work towards the reset password flow. 2021-04-27 17:29:05 +01:00
mike12345567 0dd46d12fa Updating test cases and some re-work of the email system. 2021-04-23 18:07:39 +01:00
mike12345567 ea8e3b7d3f Adding testing to worker, still WIP. 2021-04-23 14:58:06 +01:00
Martin McKeaveney c273152126 fix imports 2021-04-22 15:27:09 +01:00
Martin McKeaveney 9fdff36b54 only keep userId in payload 2021-04-22 14:53:19 +01:00
Martin McKeaveney a071d7b365 tidy up 2021-04-22 14:07:00 +01:00
Martin McKeaveney 2555d711b2 scoped configuration management 2021-04-22 13:46:54 +01:00
Martin McKeaveney 6462848191 config specificity 2021-04-22 11:45:22 +01:00
Martin McKeaveney 8fab374c1f google login reading from couch 2021-04-21 21:08:04 +01:00
Martin McKeaveney d8db863faa merge 2021-04-21 18:43:20 +01:00
Martin McKeaveney 28f8f8b6ef custom google middleware 2021-04-21 18:40:32 +01:00
mike12345567 e85b7682e0 Initial CRUD interface for templates. 2021-04-21 18:15:57 +01:00
mike12345567 15223080d5 Formatting and linting. 2021-04-21 16:46:51 +01:00
mike12345567 76ceb6a951 Some re-work of the auth package, making it a bit easier to use/less likely to make a mistake. 2021-04-21 16:42:44 +01:00
Martin McKeaveney ffe167bbd3 google auth E2E 2021-04-21 12:12:22 +01:00
Martin McKeaveney 301f681c88 config creation and management APIs 2021-04-20 18:14:36 +01:00
mike12345567 de19e986c6 Linting and formatting. 2021-04-20 17:33:44 +01:00
mike12345567 b4c8bf81f7 Swapping over everything to use the new user ID and updating everything after some end to end testing. 2021-04-20 17:17:44 +01:00
mike12345567 1f8925ceb8 Merge branch 'next' of github.com:Budibase/budibase into feature/user-id-update 2021-04-20 14:03:42 +01:00
mike12345567 c3a1841f01 Updating auth package to remove use of email address (bar logging in). 2021-04-19 17:31:47 +01:00
Martin McKeaveney 4b5d302819 group CRUD 2021-04-19 16:16:46 +01:00
Martin McKeaveney 390b43c122 merge 2021-04-19 11:38:54 +01:00
Martin McKeaveney 34a12831a6 basic group apis 2021-04-19 11:34:07 +01:00
mike12345567 b887fd6b99 Changing user db to be called global db. 2021-04-16 18:09:34 +01:00
mike12345567 af53ed2109 Fixing some issues with auth module. 2021-04-15 16:57:01 +01:00
mike12345567 9e1315c535 Updating auth lib so that it takes in a pouch instance rather than creating its own. 2021-04-15 16:45:21 +01:00
mike12345567 c7171d0303 Linting. 2021-04-14 16:44:10 +01:00
mike12345567 6852d3c461 Formatting. 2021-04-14 16:01:28 +01:00
mike12345567 dc20151c19 Some more server-side fixes, updating it so that builders have permissions to do anything for now (means that a builder user doesn't have to be present in app database to work. 2021-04-14 16:00:58 +01:00
mike12345567 a76964d12e Updating environment in auth package, easily see required env settings. 2021-04-14 14:13:48 +01:00
Martin McKeaveney 77c98009b8 joi syntax, adding db user builder key to cookie 2021-04-14 13:22:57 +01:00
Martin McKeaveney 509a04d914 logout button 2021-04-13 13:56:28 +01:00
Martin McKeaveney d72a6dc8df currentapp being set correctly for user 2021-04-13 13:26:13 +01:00
Martin McKeaveney 3226ee90e2 Authentication working on builder homepage, integration with currentapp middleware 2021-04-13 11:56:57 +01:00
mike12345567 eaad867780 Some work towards implementing the current app cookie, removing some old dead code and re-working some of the different middlewares involved. 2021-04-12 18:31:58 +01:00
Martin McKeaveney dd0b4baef5 in progress - currentapp token 2021-04-12 12:02:28 +01:00
Martin McKeaveney e2ce7098c5 merge 2021-04-12 10:48:27 +01:00
Martin McKeaveney 98576f586e login page 2021-04-11 11:35:55 +01:00
mike12345567 e275553f60 Formatting. 2021-04-09 16:56:42 +01:00
mike12345567 3214abb89a Global users now working through the server, all requests proxied. 2021-04-09 15:11:49 +01:00
mike12345567 8cde219db9 First pass of global user configuration through existing user API with role mappings. 2021-04-08 16:58:33 +01:00
Martin McKeaveney fb2fda4055 encapsulate db ID generation functions 2021-04-08 11:26:08 +01:00
Martin McKeaveney c7f4070ff5 encapsulate more auth functionality into shared module and use in worker 2021-04-08 11:20:37 +01:00
Martin McKeaveney f135aa9db4 JWT auth on admin endpoints 2021-04-07 15:15:05 +01:00
Martin McKeaveney cf073a1e55 groundwork for budibase auth lib 2021-04-07 11:33:16 +01:00