a473b360ef
* 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 * WIP * Add new components and hooks for directory sync * WIP * lint fix * updated swr * WIP * 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 * IdP selection screen changes * 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 * check app's redirectUrl, TODO: save app info into session to read later * Add query parameters to API URLs in DirectoryGroups * working saml login via IdP select. TODO: oidc login via IdP select and saml + oidc login with 1 connection * oidc IdP working with selection * working oidc fed -> saml flow * Add Google authorization status badge and handle pagination in FederatedSAMLApps * Add router prop to AppsList component and update page header titles * UI changes * updated peer-deps * Add new files and export functions * Remove unused router prop * Add PencilIcon to FederatedSAMLApps * updated federated app creation page * updated federated app edit page * Refactor FederatedSAMLApps and NewFederatedSAMLApp components * lint fix * lint fix * updated package-lock * add jose npm to dev dep * added missing strings * added missing strings * locale strings fix * locale strings cleanup * tweaks to icon imports * replaced textarea with list of inputs for Federated Apps redirect url * 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 * updated package-lock * Add `--legacy-peer-deps` to prevent installing peer dependencies * Fix the types import path * wip * wip * Fix the types * Format * Update package-lock * Cleanup * Try adding jose library version 5.2.2 * allow selective subdomain globbing * removed duplicate jose lib * updated package-lock * updated swagger doc * SAML Federation -> Identity Federation * fixed locale strings * turn off autocomplete for tags input --------- Co-authored-by: Kiran K <mailtokirankk@gmail.com> Co-authored-by: Aswin V <vaswin91@gmail.com> |
||
---|---|---|
.github | ||
.vscode | ||
_dev | ||
components | ||
e2e | ||
ee | ||
internal-ui | ||
kustomize | ||
lib | ||
locales/en | ||
npm | ||
pages | ||
public | ||
styles | ||
swagger | ||
types | ||
.dockerignore | ||
.env.example | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.js | ||
.release-it.json | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
LICENSE | ||
Procfile | ||
README.md | ||
SECURITY.md | ||
app.json | ||
check-locale.js | ||
i18next.d.ts | ||
middleware.ts | ||
migrate.sh | ||
next-env.d.ts | ||
next-i18next.config.js | ||
next.config.js | ||
package-lock.json | ||
package.json | ||
playwright.config.ts | ||
postbuild.ts | ||
postcss.config.js | ||
prebuild.ts | ||
skaffold-demo-services.yaml | ||
skaffold-demo.yaml | ||
skaffold-dynamodb.yaml | ||
skaffold-mariadb.yaml | ||
skaffold-mongo.yaml | ||
skaffold-mssql.yaml | ||
skaffold-mysql.yaml | ||
skaffold-postgres.yaml | ||
skaffold-prod-eu-services.yaml | ||
skaffold-prod-eu.yaml | ||
tailwind.config.js | ||
tsconfig.json | ||
types.ts |
README.md
· Explore the docs »
· SaaS Sign Up »
⭐️ SAML Jackson: Enterprise SSO made simple
🚀 Getting Started with SAML Jackson
Please star ⭐ the repo to support us! 😀
Streamline your web application's authentication with Jackson, an SSO service supporting SAML and OpenID Connect protocols. Beyond enterprise-grade Single Sign-On, it also supports Directory Sync via the SCIM 2.0 protocol for automatic user and group provisioning/de-provisioning.
There are two ways to integrate SAML Jackson into an application. Depending on your use case, you can choose either of them.
- separate service (Next.js application) Admin Portal out of the box for managing SSO and Directory Sync connections.
- NPM library as an embedded library in your application.
SAML/OIDC SSO service
Jackson implements the SAML login flow as an OAuth 2.0 or OpenID Connect flow, abstracting away all the complexities of the SAML protocol. Integrate SAML with just a few lines of code. We also now support OpenID Connect providers.
Try our hosted demo showcasing the SAML SP login flow here, no SAML configuration required thanks to our Mock SAML service.
🎦 Videos
- SSO/OIDC Tutorial SAML Jackson Enterprise SSO (split into chapters to easily find what you are looking for)
- SAML single sign-on login demo
✨ Demo
Here is what deploying SSO looks like with and without BoxyHQ
Documentation
For full documentation, visit boxyhq.com/docs/jackson/overview
Directory Sync
SAML Jackson also supports Directory Sync based on the SCIM 2.0 protocol.
Directory sync helps organizations automate the provisioning and de-provisioning of their users. As a result, it streamlines the user lifecycle management process by saving valuable organizational hours, creating a single truth source of the user identity data, and facilitating them to keep the data secure.
For complete documentation, visit boxyhq.com/docs/directory-sync/overview
Observability
We support first-class observability on the back of OpenTelemetry, refer here for more details.
SBOM Reports (Software Bill Of Materials)
We support SBOM reports, refer here for more details.
Container Signing and Verification
We support container image verification using cosign, refer here for more details.
Development Setup
Database
To get up and running, we have a docker-compose setup that will spawn all the supported databases. Ensure that the docker daemon is running on your machine and then run: npm run dev-dbs
. In case you need a fresh start, destroy the docker containers using: npm run dev-dbs-destroy
and run: npm run dev-dbs
.
Development server
Copy the .env.example
to .env.local
and populate the values. Have a look at https://boxyhq.com/docs/jackson/deploy/env-variables for the available environment variables.
Run the dev server:
# Install the packages
npm install
# Start the server
npm run dev
End-to-End (E2E) tests
Create a .env.test.local
file and populate the values. To execute the tests run:
npm run test:e2e
🖳 Contributing
Thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody and are appreciated.
Please try to create bug reports that are:
- Reproducible. Include steps to reproduce the problem.
- Specific. Include as much detail as possible: which version, what environment, etc.
- Unique. Do not duplicate existing opened issues.
- Scoped to a Single Bug. One bug per report.
💫 Support
Reach out to the maintainers at one of the following places:
- GitHub Discussions
- GitHub Issues (Bug reports, Contributions)
🤩 Community
- Discord (For live discussion with the Open-Source Community and BoxyHQ team)
- Twitter (Follow us)
- Youtube (Watch community events and tutorials)