Skip to content
/ jans Public
forked from JanssenProject/jans

Welcome to the Janssen Project: The world's leading community governed digital identity platform and introducing Agama, a programming language for cloud authentication.

License

Notifications You must be signed in to change notification settings

mmrraju/jans

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Janssen Project - Open Source Digital Identity Infrastructure Software

Welcome to the Janssen Project

Linux Foundation Janssen Project is a collaboration hub for digital identity infrastructure software. It is also the home of Agama, a domain-specific language and archive format for interoperable identity orchestration.

Janssen software is used by domains to self-host a modern digital authentication service. It provides a common control plane for infrastructure that is comprised of many open-source software components. It plays well with existing IAM infrastructure like KeyCloak and Microsoft Active Directory, as well as cloud identity solutions like Okta. By design, Janssen also enables domains to select a la carte which identity services to run.

We're proud to say that we've been recognized as a Digital Public Good.

The Linux Foundation DPGA


Releases: Latest | All

Get Help: Discussions | Chat

Get Started: Documentation | Quick Start | User Guides

Contribute: Contribution Guide | Community Docs | Developer Guides

Social: Twitter | Linkedin

Artifact Hub CII Best Practices Hex.pm GitHub contributors Conventional Commits


Table of Contents

Janssen Components

A partial list of software in this project:

  1. jans-auth-server: A very complete Java OAuth Authorization Server and an OIDF certified OpenID Connect Provider. It's the upstream open-source used in Gluu Flex.

  2. jans-fido2: A FIDO Server that enables people to authenticate with USB, NFC, BT or platform FIDO devices.

  3. jans-scim: SCIM JSON/REST API for identity provisioning automation for users and Fido devices persisted in the Janssen database.

  4. jans-config-api: Java Config API Server: service provides a single control plane for all Janssen services.

  5. jans-cli-tui: Text-only tools for interactive and single-line configuration for those who don't like long curl commands.

  6. Agama: Language reference and Java implementation. Agama offers an interoperable way to design authentication flows, coded in a DSL purpose-built for writing identity journeys.

  7. Jans Tarp: A fun test browser plugin for invoking OpenID Connect authentication flows (i.e. a "test RP").

Installation

You can install Janssen in a Kubernetes cluster or as a single VM. Check out the Janssen Documentation for all the details.

Users and Community

A BIG thanks to all the amazing contributors!! πŸ‘ πŸ‘

There are many ways you can contribute. Of course, you can contribute code. But we also need people to write documentation and guides, to help us with testing, to answer questions on the forums and chat, to review PRs, to help us with DevOps and CI/CD, to provide feedback on usability, and to promote the project through outreach. Also, by sharing metrics with us, we can gain valuable insights into how the software performs in the wild.

DPGA

The Janssen Project community takes immense pride in the fact that Janssen Project is recognized as a digital public good (DPG) by Digital Public Good Alliance. This is a validation of our social and global impact on millions of people. Today, countries and communities globally use Janssen Project to create affordable and accessible digital identity infrastructure. Please read the announcement to know more.

Building a large community is our number one goal. Please let us know what we can do to make you feel more welcome, no matter what you want to contribute.

Contributing

Code of Conduct

Janssen code of conduct ensures that the Janssen community is a welcoming place for everyone.

Contribution Guidelines

Contribution guide will give you all the necessary information and howto to get started. Janssen community welcomes all types of contributions. Be it an interesting comment on an open issue or implementing a feature. Welcome aboard! ✈️

Security

Disclosing vulnerabilities

If you think you found a security vulnerability, please refrain from posting it publicly on the forums, the chat, or GitHub. Instead, email us at [email protected].

Refer to Janssen Security Policy

Documentation

Visit Janssen Documentation Site for documentation around current as well as previous versions.

Design

Design Goals

The Janssen Project is aligned with the goals of cloud-native infrastructure to enable:

  1. High Concurrency: For digital identity infrastructure, the number of users is not necessarily related to performance. If you have a billion users who never login, you can do this with a monolithic platform. Concurrency is hard. Janssen is designed to scale horizontally--enabling hypothetically any concurrency by adding more compute and memory.

  2. Highly Available: Digital identity infrastructure is mission-critical. For many applications, if you can't login, you're dead in the water. Robustness is a fundamental consideration.

  3. Flexible while Upgradable: Open-source gives you the freedom to modify the code. But having your own fork of the code might make it hard to upgrade--you'll have to merge changes. Janssen provides standard interfaces that make it possible to implement custom business logic in an upgrade-friendly manner.

Governance

Janssen is a Linux Foundation project, governed according to the charter. Technical oversight of the project is the responsibility of the Technical Steering Committee ("TSC"). Day-to-day decision-making is in the hands of the Contributors. The TSC helps to guide the direction of the project and to improve the quality and security of the development process.

Support

If you find a bug in the Janssen project, would like to suggest a new feature, or have a "howto" or "usage" question, GitHub Discussions is the main channel for community support. There is also a community chat on Gitter.

Releases

Below is the list of current mega releases that hold information about every single release of our services and modules:

More about Janssen Project

History

In 2020, Gluu decided to give contributors a role in the governance of its core open-source software, and collaborated with the Linux Foundation to charter a new project, called the Janssen Project. The Gluu team believed the Janssen Project would provide a vendor-neutral home for the code which would help us build a bigger community.

Much of the initial software for the Janssen Project is a fork of Gluu Server 4, which has many OpenID self-certifications, going back around ten years.

After this initial contribution, the Janssen Project developers added a new configuration control plane, tools, documentation, packaging and deployment assets.

Why the name Janssen?

Pigeons (or doves if you like...) are universally regarded as a symbol of peace. But they are also fast. Powered by a handful of seeds, a well-trained racing pigeon can fly 1000 kilometers in a day. The Janssen brothers of Arendonk in Belgium bred the world's fastest family of racing pigeons. Like competitive animal husbandry, building a complex open-source infrastructure requires tenacity, and a long-term commitment to incremental improvement. Janssen racing pigeons revolutionized the sport. The Janssen Project seeks to revolutionize open-source identity and access management infrastructure.

About

Welcome to the Janssen Project: The world's leading community governed digital identity platform and introducing Agama, a programming language for cloud authentication.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 75.2%
  • Python 10.2%
  • HTML 7.0%
  • Go 3.1%
  • JavaScript 2.6%
  • Gherkin 0.7%
  • Other 1.2%