• Stars
    star
    486
  • Rank 90,527 (Top 2 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Enterprise SAML single sign-on service designed as an OAuth 2.0 flow. Integrate SAML and OIDC SSO with just a few lines of code.

SAML Jackson: Enterprise SSO made simple

npm Docker pull Github stargazers Github issues license Twitter LinkedIn Discord node-current Swagger Validator

Deploy with Vercel Deploy

Getting Started with SAML Jackson

SAML Jackson can be used with any web application to integrate the Single Sign-On (SSO) authentication.

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

  1. separate service (Next.js application) Admin Portal out of the box for managing SSO and Directory Sync connections.
  2. 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

Demo

Documentation

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

Directory Sync

SAML Jackson also includes support for 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 full documentation, visit boxyhq.com/docs/directory-sync/overview

Source code visualizer

CodeSee codebase visualizer

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 run custom-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:

Community

  • Discord (For live discussion with the Open-Source Community and BoxyHQ team)
  • Twitter (Follow us)
  • Youtube (Watch community events and tutorials)

Reporting Security Issues

Responsible Disclosure

License

Apache 2.0 License

More Repositories

1

saas-starter-kit

Enterprise SaaS Starter Kit - Kickstart your enterprise app development with Next.js SaaS Starter Kit
TypeScript
281
star
2

awesome-oss-devsec

An awesome list of OSS developer-first security tools
113
star
3

hermes

Audit logs service
Go
30
star
4

mock-saml

A simple mock SAML 2.0 Identity Provider
TypeScript
26
star
5

remix-auth-sso

An SSO strategy for Remix Auth, based on the OAuth2Strategy
TypeScript
17
star
6

jackson-examples

Collection of SAML Jackson example apps that show how to integrate Enterprise SSO and Directory Sync with JavaScript-based web and authentication frameworks.
TypeScript
12
star
7

ui

UI toolkit to ease BoxyHQ integration
TypeScript
10
star
8

saml20

SAML 2.0 parser for Node.js
TypeScript
9
star
9

website

BoxyHQ website
HTML
6
star
10

jackson-remix-auth

Remix demo app showing Single sign-on (SSO) with Jackson
TypeScript
5
star
11

hacktoberfest-22

This repo serves as Hacktoberfest guidelines for BoxyHQ contributions.
4
star
12

api-benchmarking

API benchmarking framework for internal products
JavaScript
3
star
13

php-examples

PHP Example Apps powered by BoxyHQ
PHP
2
star
14

express-jackson-demo

JavaScript
2
star
15

error-code-mnemonic

A mnemomic generator for error codes. A friendly way for your customers to report error codes avoiding obscure hexadecimals.
JavaScript
2
star
16

jackson-supertokens-express

A project to demonstrate the integration of SAML using SuperTokens and SAML Jackson.
JavaScript
2
star
17

jackson-hasura-nextjs

Next.js + BoxyHQ SAML + Hasura Integration Example
TypeScript
1
star
18

ruby-examples

Ruby Example Apps powered by BoxyHQ
Ruby
1
star
19

jackson-cerbos

This is an example application that demonstrates how to use Cerbos with SAML Jackson
TypeScript
1
star
20

jackson-nextjs

Next.js + Tailwind CSS Template for BoxyHQ SAML Integration Example
TypeScript
1
star
21

express-jackson-auth0-demo

JavaScript
1
star
22

metrics

Package for OTel instrumentation
TypeScript
1
star