* WIP
* updated swagger file
* renamed routes
* renamed test folder
* separate section for Identity Federation
* sso-tracer -> sso-traces
* don't change ACS url for SAML federation
* SAMLFederation -> IdentityFederation
* SAMLFederation -> IdentityFederation
* keep api/federated-saml but move to api/identity-federation
* test old route as well
* fixed test
* fixed test
* retry tests 3 times
* updated deployment
* WIP create SAML Fed app
(cherry picked from commit 3d15b20a2d)
* Add Admin Portal SSO via SAML Fed
* Minor tweaks
* Use fixture and login using federated connection
* Cleanup SAML fed connection after test, disable failing assertion for now
* Remove only
* Use MockSAML endpoint from env
* Cleanup SSO connections mapped to SAML Fed
* OIDC Fed spec
* Try with higher timeout
* Mutate on page load
* Put back assertion
* Remove assertion and mutate for now
* SAML Fed App + 2 SAML Providers
* Take in optional tenant/product for fixture method
* SAML Fed + 2 OIDC providers
* SAML Fed test cases for single provider
* Tweak title
* Replace swr with fetch
* Remove only
* Bump up timeout to 100s
* Add more test cases for OIDC Fed
* Refactor fetch with hooks
* locale tweaks
* Also try with the other provider
* Fixture support SAML add via raw metadata
* Add second SAML connection using raw metadata
* Revert "Add second SAML connection using raw metadata"
* Revert "Fixture support SAML add via raw metadata"
---------
Co-authored-by: ukrocks007 <ukrocks.mehta@gmail.com>
Co-authored-by: Aswin V <vaswin91@gmail.com>
* Store product config
* Handle Product not found.
* Product id is required
* Cleanup
* Refactor API route validation in middleware.ts
* Show friendly product name instead of id
* Refactor product fetching
* Add Google Group API
* Restructure the Group interface
* Rename the methods
* wip
* temp change
* Revert the changes
* Fix the groups from Google
* wip fetch users
* Skip directory check
* Convert to SCIM schema
* Updates to users sync
* Fix the unit test
* Rename folder and merge the files
* add raw to the user payload
* Fix the unit tests
* Optimize the Group sync create ops
* Reorder import
* Remove unused imports
* Add type safety to SCIM Schema
* Fix the users and groups update
* try fixing unit tests
* Fix the file extension
* Delete groups that are not in the directory anymore
* Fix the group update
* Compare and find the delete users
* Add and update group members
* cleanup the test
* Fix the test (temp)
* dont throw error
* Add secondary index if the directory type is `google`
* Rename the file
* wip
* Export functions inline
* Hide the SCIM endpoint and token for non-scim provider
* Update the `dsync` option key to allow multiple providers
* Restructure the folders
* Update folder structure
* Cleanup
* Revert the callback changes
* Fix the type
* Fix the type
* Fix existing unit tests
* add callback
* Fix the internal callback
* Fix the method call
* merge the type files
* add console.info for testing
* Fix the Google OAuth client usage
* Reactor the update method
* Handle no users or group cases
* Refactor the sync method
* Fix the pagination
* Cleanup
* Finish the pagination
* Fix the unit tests
* Fix the lint errors
* Fix the build issues
* Pass directory id to the method
* Pass directoryId while fetching
* apply changes to the UI
* display the Google auth URL
* Fix the type
* add unit tests
* add unit test for syncing users
* add unit tests
* Pass operation to SCIM payload
* unit tests wip 1
* updated
* Test the events deleted
* Test group.user_added events
* Finish the tests
* Revert and cleanup
* update map.js
* Revert
* update the e2e test
* Cleanup
* Revert
* label tweak
* Remove unused import
* Protect the cron job using apiKey
---------
Co-authored-by: Deepak Prabhakara <deepak@boxyhq.com>
* display toast and adjust the width of the content
* customize the branding for setup links
* use the branding in setup links page
* Admin Branding WIP
* Update settings
* Move to ee folder
* If the licence is not valid, return the default branding
* update translation
* Add logo to the idp selection page
* add license check to the API
* read default branding from a common place
* add LicenseRequired
* cleanup
* Add License check to NPM
* Fix
* Add --pf css variable
* fix the idp selection page
* use default branding if value is not set
* Fixes
* Improved the store and keys
* Infer the return type
* Whitelabeling the IdP selection screen per tenant and product
* Fix the param type
* Fix the unit tests
* Fix mismatch in server/client rendering
* Switch to radio button look and feel
* Use rounded border only for textual inputs
* Cleanup import
* Move routing to `useEffect`
* Fix server render mismatch
* fixed merge conflict
* fixed merge conflict
---------
Co-authored-by: Aswin V <vaswin91@gmail.com>
Co-authored-by: Deepak Prabhakara <deepak@boxyhq.com>
* Update
* Validate the API routes in the middleware
* Validate the setuplink token by calling the API
* Tweaks
* unAuthorizedResponse method now accept a message
* Update middleware
* Cleanup
* Update message
* Removed CheckSession - Not needed anymore
* Updates to API authentication middleware
* Updates to API authentication middleware
* Remove the use of checkSession from retraced admin APIs
Co-authored-by: Deepak Prabhakara <deepak@boxyhq.com>
* SCIM Config API - / POST
* SCIM wip
* Add SCIM Webhook
* Send webhoo event, and add signature
* SCIM Group wip
* wip
* SCIM wip
* User store wip
* wip
* wip
* SCIM - Groups management
* Add the params validation
* Cleanup
* Create user API, return the created user
* Replace the nanoid with crypto
.randomBytes
* Improve the transform methods
* Fix the events APIs
* Fix
* Wip - Testing with OneLogin SCIM
* wip
* Make changes to SCIM APIs
* wip
* Add the method createRandomSecret
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* refactor wip
* refactor wip
* wip
* Users finished
* Group finished
* Group fix
* Fix the types
* Fix the types
* wip webhook events
* Fix the config API
* wip
* wip
* wip
* wip
* Improve the methods
* wip
* wip
* wip webhook
* Refactor the code
* Add some comments
* Fix the API
* wip SCIM
* Fix the pk
* Return the all the groups
* Fix
* Improve the code
* Final changes
* wip APIs
* Rename variables
* Rename the classes
* Fix the APIs
* wip
* Admin UI - wip
* Add SCIM config screen
* Admin UI wip
* Admin UI wip
* Admin UI wip
* Fix the Admin UI
* Add tabs
* Add tabs
* Add user screens
* Add EmptyState
* Add users, groups info screen
* Add JSON syntax highlighter
* Fix the config details screen
* Add authentication to the APIs
* wip
* Add types
* Add webhook event logs
* Add type to directory
* Display the event log details
* Fix the missing arg
* Ability to configure the logging enable/disable
* Display alert if webhook logging is disabled
* Fix the SCIM
* Applied prettier
* Search users by userName
* Fix the section width
* Add pagination for /users /groups in admin UI
* Add pagination for directory listing
* Fix the issues with list()
* Add APIs
* Add Next.js middleware for authentication
* Fix the TS issue
* Add pagination for SCIM /users
* Add pagination for SCIM /users
* Moved the tests into sub folders
* Add unit tests for directories, users
* wip
* wip - unit tests
* wip - unit tests
* Some improvments
* wip
* Finished the SCIM unit tests
* Some fixes
* Fixes
* Rename methods
* Fix the TS
* Many fixes
* Fixes
* Fixes
* SCIM Fixes
* SCIM updates
* Fix the unit tests
* Fix the unit tests
* Fix the unit tests
* Improve the unit tests
* A fix
* File renamed as per JS standard
* Fix
* Updates
* Fix the SCIM APIs
* Fix the tests
* Added the Base class
* Some fixes
* Some fixes
* Some fixes
* Fix the events
* Renamed to directorySyncController for consistency
* Moved the createId to Base class
* Moved the createId to Base class
* Remove the Next.js middleware and add authentication to each routes
* Change the text
* Merged
* Revert the changes
* Improved the response of the SDK and APIs
* Fix the return value
* Azure related changes
* Add the middleware back
* Infer the types from getServerSideProps
* givenName and familyName can be empty depends on the mapping
* Fix the issue with update
* API changes
* Fixes
* Fix the types
* Revert the change
* Improving the Webhooks and Callback
* Added the event callback and changed the implementation for Webhook
* Fix the SCIM API
* Fix the events.ts file
* wip
* Cleanup and improve the request handler
* Revert the package.json changes
* Make the directory name optional.
* Add a generic scim provider to the type
* wip
* Remove supabase UI
* Update package-lock.json
* Update the UI with DaisyUI
* UI fixes
* Final changes to the UI
* Standardize the Input theme
Co-authored-by: Kiran <kiran@Kirans-MacBook-Pro.local>
Co-authored-by: Deepak Prabhakara <deepak@boxyhq.com>