samlify

? Node.js API for Single Sign On (SAML 2.0)

Github stars Tracking Chart

samlify ·

Build Status
npm version
Coverage Status
Join the community on Spectrum

Highly configuarable Node.js SAML 2.0 library for Single Sign On

Welcome PRs

Welcome all PRs for maintaining this project, or provide a link to the repositories especially for use cases alongside with different frameworks.

To install the stable version

Starting from v2.6, multiple schema validators are now supported. You can simply set the validator via the following global method. We have four validator modules right now, and you can write your own. The setSchemaValidator is required since v2.6, it will throw error if you don't set at the beginning.

import * as samlify from 'samlify';
import * as validator from '@authenio/samlify-xsd-schema-validator';
// import * as validator from '@authenio/samlify-validate-with-xmllint';
// import * as validator from '@authenio/samlify-node-xmllint';
// import * as validator from '@authenio/samlify-libxml-xsd'; // only support for version of nodejs <= 8

// const validator = require('@authenio/samlify-xsd-schema-validator');
// const validator = require('@authenio/samlify-validate-with-xmllint');
// const validator = require('@authenio/samlify-node-xmllint');
// const validator = require('@authenio/samlify-libxml-xsd');

samlify.setSchemaValidator(validator);

Now you can create your own schema validator and even suppress it but you have to take the risk for accepting malicious response.

samlify.setSchemaValidator({
  validate: (response: string) => {
    /* implment your own or always returns a resolved promise to skip */
    return Promise.resolve('skipped');
  }
});

For those using Windows, windows-build-tools should be installed globally before installing samlify if you are using libxml validator.

yarn global add windows-build-tools

Development

This project is now developed using TypeScript, also support Yarn which is a new package manager.

yarn global add typescript
yarn

Get Started

const saml = require('samlify');

See full documentation here

Example

react-samlify SP example powered by React, TypeScript and Webpack

Talks

An introduction to Single Sign On

License

MIT

Copyright (C) 2016-present Tony Ngan, released under the MIT License.

Main metrics

Overview
Name With Ownertngan/samlify
Primary LanguageTypeScript
Program languageMakefile (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2015-08-14 09:07:35
Pushed At2025-05-25 06:36:41
Last Commit At2025-05-06 09:19:12
Release Count85
Last Release Namev2.10.0 (Posted on )
First Release Namev1.0.0 (Posted on )
用户参与
Stargazers Count630
Watchers Count22
Fork Count230
Commits Count462
Has Issues Enabled
Issues Count369
Issue Open Count73
Pull Requests Count139
Pull Requests Open Count20
Pull Requests Close Count32
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private