* 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>
* Handle pagination query params correctly and set response header for pageToken
* Support for pageToken
* Revert tokenmap change for and add comment
* Exclude `log_webhook_events` checkbox while creating
* `pageToken` handling for WebhookLogs
* `pageToken` handling in API route
* Fix unit tests
* Fix test
* Update tokenmap using effect
* Tweak sdk style import order
* WIP
* Override SDK styles
* Cleanup and pass props to component
* Cleanup setup link related code as it's handled via setup-link instructions
* Cleanup locale
* Fix e2e tests
* Fix selectors in e2e test
* Add select dropdown style override
* Use component from SDK
* Cleanup locale
* Use Edit DSync from SDK
* Remove default webhook props from setup token page
* Ability to set default webhook secret
* Tweak header text
* Revert sdk style import order - app styles should be latest
* Override default SDK focus style
* Update locale
* Use Edit component from SDK
* Allow patching oidcMetadata fields
* Tweak return data format
* Route change on edit success and other fixes
* Fix button styles
* Fix data access from API
* Fix focus styling for error btn
* Sync lock file
* Cleanup unused files
* Set `displayInfo` to false for setup link and fix exclude fields for SAML under setup link
* Allow forceAuthn in setup links
* Only update forceAuthn if its a boolean value coming from body
* Cleanup and hideSave only for setup link
* Update UI SDK
* Cleanup locales
* Fix failing e2e
* cleaned up dups
* cleaned up dups
* cleanup of components
* more cleanup
* cleanup
* locale cleanup
* dup cleanup
* Reuse styles
* Set min value for expiry field to 1
* Validate expiry before using
* Update SDK and set idpMetadata display to true
* cleaned up unused code, added formik as dep
* clean unused locale strings
* cleaned up ErrorMessage component
---------
Co-authored-by: Aswin V <vaswin91@gmail.com>
* Tweak sdk style import order
* WIP
* Override SDK styles
* Cleanup and pass props to component
* Cleanup setup link related code as it's handled via setup-link instructions
* Cleanup locale
* Fix e2e tests
* Fix selectors in e2e test
* Add select dropdown style override
* Use component from SDK
* Cleanup locale
* Use Edit DSync from SDK
* Remove default webhook props from setup token page
* Ability to set default webhook secret
* Tweak header text
* Revert sdk style import order - app styles should be latest
* Override default SDK focus style
* Update locale
* Use Edit component from SDK
* Allow patching oidcMetadata fields
* Tweak return data format
* Route change on edit success and other fixes
* Fix button styles
* Fix data access from API
* Fix focus styling for error btn
* Sync lock file
* Cleanup unused files
* Set `displayInfo` to false for setup link and fix exclude fields for SAML under setup link
* Allow forceAuthn in setup links
* Only update forceAuthn if its a boolean value coming from body
* Cleanup and hideSave only for setup link
* Update UI SDK
* Cleanup locales
* Fix failing e2e
* Reuse styles
* Set min value for expiry field to 1
* Validate expiry before using
* Update SDK and set idpMetadata display to true
---------
Co-authored-by: Deepak Prabhakara <deepak@boxyhq.com>
* `offset` -> `pageOffset`, `limit`-> `pageLimit`
* Be backward compatible in API
* Cleanup types and handle pagination qs
* Cleanup unused code
* Import type
* Cleanup and fix lint error
* Align params for sso-tracer
* Move parsing to a common util function
* pageLimit shouldn't be optional
* Cap pageLimit to max value, split the boolean
* Revert typings and assert non null
* Refactor var name
* Use util function to normalize pagination params across getAll and getByIndex
* Normalize offset/limit for dynamo/mongo
* Update query params in `FederatedSAMLApps`
* Cap to max limit if passed limit is 0
* Sync lock file
* Add a 3rd record and supply opts.pageLimit
* Normalize offset/limit for mem/redis
* Save the 3rd record in the store
* Fix getAll tests
* Give precedence to standard params over legacy
* Use util function
* Parse using util function
* Refactor
* Standardise pagination for `api/v1/dsync/events`
* Standardise pagination for api/admin/connections
* Standardise pagination for api/admin/directory-sync
* Standardise pagination for `api/v1/dsync/groups`
* Standardise pagination for `v1/dsync/users`, `v1/dsync/product`
* Standardise pagination in fetchByProduct APIs
* Update swagger for groups
* Fix pagination params definition, add the params for users api
* More swagger updates
* Swagger spec update for dsync events
* Add pagination params to apis fetching by product
* Update qs in internal-ui
* Remove type assertion
* [Swagger WIP] Fix response format for paginated APIs
* Add dsync events to swagger spec
* Fix swagger spec for sso tracer
* Fix swagger spec for federated-saml apps of a product
* Update pageLimit to 50
* Use pageLimit value from internal-ui
* Update UI SDK
* Cleanup local pagination component
* Update swagger version
* Remove unused keys from locale
* Fix tag for trace api spec
* Fix param name for swagger
* Fix swagger tag for trace
* updated package-lock
* updated package-lock
---------
Co-authored-by: Deepak Prabhakara <deepak@boxyhq.com>
* add WellKnownURLs
* Fix translation keys
* Update dependencies and add IdP Configuration
* Update common.json with new translations
* wip
* Update @boxyhq/internal-ui version to 0.0.5
* add internal ui folder
* Fix imports and build
* Refactor internal-ui package structure
* wip shared UI
* Fix the build
* Add new components and hooks for directory sync
* lint fix
* updated swr
* users
* Refactor shared components and fix API endpoints***
***Update directory user page and add new federated SAML app
* Fix lint
* wip
* Add new files and update existing files
* Refactor DirectoryGroups and DirectoryInfo components
* Update localization strings for directory UI
* Update Google Auth URL description in common.json
* Refactor directory tab and add delete functionality to webhook logs
* Delete unused files and update dependencies
* Fix column declaration
* Add internal-ui/dist to .gitignore
* Update page limit and add new dependencies
* wip
* Refactor directory search in user API endpoint
* wip
* Refactor directory retrieval logic in user and group API handlers
* Add API endpoints for retrieving webhook events
* Add query parameters to API URLs in DirectoryGroups
* Add Google authorization status badge and handle pagination in FederatedSAMLApps
* Add router prop to AppsList component and update page header titles
* UI changes
* Add new files and export functions
* Remove unused router prop
* Add PencilIcon to FederatedSAMLApps
* Refactor FederatedSAMLApps and NewFederatedSAMLApp components
* lint fix
* add jose npm to dev dep
* added missing strings
* locale strings fix
* locale strings cleanup
* update package-lock
* Add prepublish step
* Build and publish npm and internal ui
* Refactor install step
* Run npm install (for local) inside internal ui automatically using prepare
* Remove eslint setup for internal-ui
* wip
* Add `--legacy-peer-deps` to prevent installing peer dependencies
* wip
* Fix the types import path
* wip
* wip
* Fix the types
* Format
* Update package-lock
* Cleanup
* Try adding jose library version 5.2.2
* Add new dependencies for @next/swc package
* Fix translation keys and import types
* Update SSOTracers component and common.json localization
* COPY internal-ui before npm install
* COPY internal-ui in builder stage
* fixed sort order for jose
* wip
* wip setuplink
* Add delete link
* Add exclusion for node_modules in files.exclude
* Add error handling and additional functionality to SetupLinks component
* Refactor SetupLinks component and add missing translations
* Add missing translations and update setup link messages
* Remove comment
* update localization strings
* Remove unused key
* Update SSOTracerInfo component title
* Refactor ConfirmationModal component button styling
* Update package.json and ConfirmationModal.tsx
* Update dep
* Refactor setup links API and UI to use query parameters for pagination
* Refactor deleteLink API endpoint and SetupLinks component
* Update package.json paths
* Update dep
* Refactor setup link forms and add new fields
* Update dep
* Update import paths and add new setup links tests
* wip
* Refactor CreateDirectory and DirectoryInfo components
* Add new fields to setup link and directory sync APIs
* Cleanup
* Update package-lock
* Fix link regeneration
* updated package-lock
* Fix and add e2e tests
* Update API documentation with new parameters for setup link creation and update
* Revert
* Update postcss.config.js and SSOForm.tsx
---------
Co-authored-by: Deepak Prabhakara <deepak@boxyhq.com>
Co-authored-by: Aswin V <vaswin91@gmail.com>
* WIP Connection List SDK component usage
* Cleanup
* Align response data format with v1
* Cleanup and auto route to new connection creation for setup link
* Minor formatting
* Switch to SDK component for DSync list
* Fix query param in API
* Disable pagination for setup link view
* Update SDK
* [e2e test] Locate by label
* Sync lock file
* Disable pagination for settings view also
* cleanup
---------
Co-authored-by: Deepak Prabhakara <deepak@boxyhq.com>
* tweaks to align with SaaS app
* tweaks
* tweaked table to avoid overflow of long text (long name still messes the layout)
* wrap around for long words
* aligned SSO Tracer with SaaS app
* aligned SSO Tracer with SaaS app
* added Table component
* moved Traces to shared Table component
* moved FedApps to shared Table component
* moved SetupLinks to shared Table component
* fixed setup links pagination
* format fix
* moved Retraced projects to shared Table component
* fixed check to avoid empty div and span
* tweaks to align with SaaS app
* tweaks
* tweaked table to avoid overflow of long text (long name still messes the layout)
* wrap around for long words
* aligned SSO Tracer with SaaS app
* aligned SSO Tracer with SaaS app
---------
Co-authored-by: Kiran K <kiran@boxyhq.com>
* Control the order of connections in the IdP selection list
* Remove unused import statement
* Fix the sortOrder
* Type fix
* Fix TS error
* Fix build
* Update API version and add sortOrder parameter
* Update swagger specs
* Update swagger
* Add tests
* Add `sortOrder` to GET spec
* Refactor connection retrieval logic and add sorting option
* Fix connection sorting issue
* Fix connection sorting issue
* Update the validation
* Fix the tests
* Filter out connections that are not enabled
---------
Co-authored-by: Aswin V <vaswin91@gmail.com>
Co-authored-by: Deepak Prabhakara <deepak@boxyhq.com>
* [typings] OIDC provider clientId/secret is non optional
* try/catch and trace the errors ...
* Fix error message inside `resolveConnection`
* Default for error_description, trace error should be either error or fallback to description
* Attach traceId to OAuth error response
* Add more context to the traces
* [fed-saml] Add relayState to trace context
* Tenant/product can be traced from session.request in case connection is not resolved
* Minor change
* [npm] Rename `saml-tracer` -> `sso-tracer`
* [Admin UI/API] Rename `saml-tracer` -> `sso-tracer`
* [v1 API] Rename `saml-traces` -> `sso-traces` with alias to old path
* Fix assertion type display with fallback to `-`
* Update swagger spec
* Scroll in case text overflows
* Make entity ID read-only
* Update swagger.json
* Add validation to check if an app with the same tenant and product already exists
* Fix error message for duplicate app creation
* Update API handler to use PATCH method instead of POST
* Add product branding support
* Refactor product controller
* Refactor branding and product fetching logic
* Update setup link branding
* Revert
* Fix ProductConfig interface
* IdP tab is now the first one
* IdP-config should be the default selected
* Fix styling for link
* Add OpenID SP route, tweak well known list to include the same
* Switch `disabled` to `readOnly`
* Add copy to clipboard button for clientSecret
* Position the copy button next to label
* Add show/hide secret button
* Use semantic button to improve a11y
* Sync lock file
* Spread rest props on button instead of icon
* Refactor password input to separate component to fix hook issue
* Sync lock file
* Set oidcClientSecret field to password type
* 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>