Skip to content

v2.6.0

Compare
Choose a tag to compare
@tngan tngan released this 07 Jul 18:40
· 118 commits to master since this release

Release Note

This release is to fix the installation of validator module. With v2.5.0, we allowed user to pick different schema validators in production environment, however, the fallback mechanism was error prone and it could install extra validators that never used.

Thanks for the idea from @kiejo (See the discussion thread #274), and we introduced a new way to assign the validator module.

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);

And you can customise your own validator using the new context method setSchemaValidator. The design purpose of the new context module is for global module settings, not limited to schema validator. Check out https://github.com/tngan/samlify/blob/master/src/api.ts for the implementation detail.

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

We have separated the wrappers of validator module from samlify to other repositories under authenio, in order to have better maintenance and version control.

Node.js version

We have removed the support of Node.js v6 starting from v2.6.0, and added v12 into our testing scope.

News

We are now starting the early stage of the development plan of open-source federation service based on the codebase of samlify. The initial idea is to allow individuals to self-host the federation service, and we will roll out paid plan of hosted service enterprise for advanced features and support.