Categories
All Softwares
Sublime Text VSCode Binaries Postman TeamViewer Firebase Visual Studio Code Contentful Tribe Circle Notion Datadog NewRelic Vmix Archbee Docker Desktop Bitly GitHub BitBucket Upsource Zapier Make Medium substack Facebook Amazon S3 Maya 3DS MAX Adobe Substance Airtable Roam Research Azure DevOps Retool Powerapps Appsheet 1Password Plex Emby Netflix Apple HomeKit Algolia Lightshot Confluence Toad tableau Data Studio Salesforce SAP Calendly Google photos Bloomberg Terminal BigQuery ML Google AutoML Tables Shopify BigCommerce Google Drive Redis Memcached Windows media player WhatsApp Heroku Render Looker Quizlet Google Analytics Auth0 Trello Elasticsearch Adobe Premiere Pro Zerotier Zoom Skype Docker Polypane Google Chrome Microsoft Edge Safari Gitbook Gmail Google Vertex AI Kdb+ Amplitude Google Docs Typora Roboflow ML Kit Azure Intercom Quicken YNAB Uptime Robot Figma npm TigerGraph Amazon Neptune Fivetran Okta YouTube LastPass Mailchimp Sendinblue Adobe Acrobat Pocket Reddit Onenote Shogun DaVinci Resolve UiPath Taliscale Adobe Lightroom FullStory LogRocket RescueTime Boxcryptor LaunchDarkly ArcGIS AWS SageMaker Tailscale NordVPN WooCommerce Twitter Dropbox Nagios Zabbix Prtg Google Cloud Webflow ActiveCampaign Quickbooks .Net Maui Airplane.dev Pipedream Evernote Autodesk AutoCAD HCL Connections Google Sheets Excel Rundeck Ansible Tower Salt Twilio Pastebin Zoho Unity3D GameMaker AWS Config GCP Cloud Asset inventory AWS GuardDuty Unreal Engine (UE4) Jira YouTrack Stytch Suite CRM Greynoise Photoshop LinkTree BlackBoard Zendesk Discord Rollout.io Disqus Oracle Fusion ERP Cloud Odoo Microsoft Dynamics Alfred Sophos Firewall UniFi Security Gateway Azure AD Doodle Office Online Power BI MicroStrategy Qlik Ampache Socrata Drone CI IOS WordPress IDM FDM Ninja Download Manager McAfee Google Meet WIX cPanel LucidChart HubSpot Landbot Typeform CCleaner Ecwid Spotify Stackstrom N8N Substance Painter Onshape SketchUp Canny Miro XMind Segment GoogleForms Adobe Illustrator MultiSim Proteus Prezi Slack Microsoft Teams SumSub JAWS Wetransfer Framer Microsoft 365 Telegram Threema Signal Lokalise Crowdin Phrase WolframAlpha Dataclay Templater Bot WorkOS FrontEgg Snorkel AI ZohoCRM Voicemod Chromatic Percy POEditor Transifex Microsoft Office Selenium vBulletin Xenforo Hightouch Logseq Bundlephobia Webpack Esbuild Rollup Session Berty WHMCS Stripe Billing Google Camera ImgIX Netlify Google Keep SocialPilot Hootsuite Firebase Analytics Access Manager Wordle Amazon Redshift Snowflake Microsoft Active Directory ClubHouse Tenable Nessus Obsidian Scrivener IDA Neo4j Pushbullet Pushover TinkerCAD Fusion360 SolidWorks TablePlus Cryptomator Glasswire Comodo Firewall Coyim Splunk Hungry Bring Panther IFTTT openHAB Alexa Google Home Twitch Asana IBM Watson Discovery FL Studio Ableton Google Maps Gather Aseprite Instagram Agora Wowza Docuware ELO Office Apollo GraphQL Supabase Hasura Stepzen Postgraphile Lyket.dev Kahoot Clubdesk Fairgate Bandicam Revoltchat Element Imply Pinot MongoDB Oracle Peoplesoft CurseForge Google Tag Manager MS SQL AppWrite Nhost AWS Kendra QnA Maker Apigee Google Cloud IoT Core Microsoft OneNote Amazon API Gateway Qualtrics Sprig Hotjar Sibelius Finale Dorico Snyk Common Room Orbit Toggl Track Adobe Scan Microsoft Lens CamScanner Vercel Stack Overflow Traktor Pro 3 Markup CMS Documentation Atlassian Confluence Raindrop Akeneo Salsify Informatica SuiteCRM VtigerCRM Cruise Tesla autopilot Waymo Adobe Animate Pencil2D Men&Mice Solarwinds Infoblox Device42 AWS WAF
BoxyHQ

BoxyHQ

Open Source Alternative to WorkOS, FrontEgg
Language
TypeScript
Stars
2048
Watchers
2048
Forks
180
Open Issues
44
Last Updated
5/9/2025

REAMDE.md

SAML Jackson: Open Source Enterprise SSO And Directory Sync

OpenSSF Best Practices Badge NPM downloads badge Docker pull statistics badge Apache 2.0 license badge Open Github issues badge Github stargazers Nodejs version support badge Swagger Validator badge

SAML Jackson bridges or proxies a SAML login flow to OAuth 2.0 or OpenID Connect, abstracting away all the complexities of the SAML protocol. It also supports Directory Sync via the SCIM 2.0 protocol for automatic user and group provisioning/de-provisioning.

We now also support OpenID Connect providers.

A quick demo of the admin portal without sound to show an overview of what to expect. It shows features such as SSO, the ability to set up SSO connections, Setup Links, Directory sync, and more

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

🌟 Why star this repository?

If you find this project helpful, please consider supporting us by starring the repository and sharing it with others. This helps others find the project, grow the community and ensure the long-term health of the project. 🙏

🚀 Getting Started with SAML Jackson

There are two ways to integrate SAML Jackson into an application. Depending on your use case, you can choose either of them.

  1. As a separate service (Next.js application) This includes an admin portal out of the box for managing SSO and Directory Sync connections.
  2. NPM library as an embedded library in your application.

Try A Demo

Deploying SAML Jackson as a separate service locally

Let's get you to Hello SAML Jackson in no time.

Prerequisites

  • Node.js at version 18.14.2 or higher

It is generally a good idea to install and maintain Node.js versions using a version manager like nvm or nvs on Windows. More information is available here.

Clone the repository

git clone https://github.com/boxyhq/jackson.git
cd jackson

Install dependencies

npm i

Setup environment variables

Create a .env from the existing .env.example file in the root of the project.

cp .env.example .env

Environment variable documentation: Have a look at https://boxyhq.com/docs/jackson/deploy/env-variables for all of the available environment variables.

Database

For the rest of the setup, we will use a PostgreSQL database. The easiest way to get PostgreSQL up and running on macOS is by using Postgres.app. You can download it from https://postgresapp.com/.

For other operating systems and alternative options for MacOS, please see the documentation available on the Prisma website.

Start the development server

Instead of running it locally you could also run docker compose up and run a specific version of Jackson. For running it locally continue to follow the instructions below.

Now that we have our database running we can start the development server. But before we do, we need a way to log into the admin portal.

To log in to the admin portal we either need to configure magic links, or enable username and password login. The easiest one, and the one we will use, is to enable username and password login.

In your .env find the NEXTAUTH_ADMIN_CREDENTIALS environment variable. We need to provide an email:password combination that we can then use to log in to the admin portal. For example:

NEXTAUTH_ADMIN_CREDENTIALS=admin@example.com:password

Now we can start the development server:

npm run dev

Open http://localhost:5225 in your browser and you should be redirected to the login screen.

At the login screen, you can now use the username and password you set in the NEXTAUTH_ADMIN_CREDENTIALS environment variable to log in. Click "Sign In" and you should be logged in and see the SSO Connections page with no configured connections. We have reached Hello SAML Jackson!

Documentation

For the full documentation, visit boxyhq.com/docs/jackson/overview

Easy Cloud Deployment

Deploy SAML Jackson to the cloud with a single click using the following providers:

Deploy with Vercel Deploy

Videos

End-to-End (E2E) tests

Create a .env.test.local file and populate the values. To execute the tests run:

npm run test:e2e

About BoxyHQ

BoxyHQ - Security building blocks for developers

BoxyHQ is on a mission to democratize enterprise readiness for developers one building block at a time. We are building a suite of security building blocks that are easy to use and integrate into your applications. Our goal is to make being enterprise-ready accessible to all developers, founders, and those responsible for the security of their internal applications regardless of their security expertise.

Follow us on Twitter/X Connect with us on LinkedIn

Community is core to our mission. We are building a community of developers, security enthusiasts, and founders who are passionate about security and building secure applications. We are building in the open and would love for you to join us on this journey.

Join the community on Discord today.

Join the community on Discord

Security And Observability

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.

🛡️ Reporting Security Issues

Responsible Disclosure

Contributing

Thank you for your interest in contributing to SAML Jackson! We are excited to welcome contributions from the community. Please refer to our contributing guidelines for more information.

💫 Support

Reach out to the maintainers at one of the following places:

📌 License

Apache 2.0 License

Categories:
Developer Tools