simple-cas-interface

    1.0.2 • Public • Published

    simple-cas-interface

    This module provides a simple interface for interacting with a CAS server. Based on the parameters you provide it, it will generate all of the necessary URLs for communicating with the server. It also provides methods for verifying the validity of CAS tickets.

    There are several other CAS clients available, but they are either narrowly defined for specific institutions or are tied to specific frameworks like Express. To be framework agnositic, the only interaction this module directly has with the remote CAS server is when validating tickets. All other interactions are left up to your application or other modules. One such implementation is the hapi-cas module.

    This module follows the specification and implements protocol version 1.0, 2.0, and 3.0.

    This module is fully documented in the api.md document.

    Note: CAS's proxy granting ticket protocol is not yet supported. Basically because this author doesn't quite understand it or its purpose.

    Install

    $ npm install --save --production simple-cas-interface

    Usage

    const CAS = require('simple-cas-interface');
    const casOptions = {
      serverUrl: 'https://cas.example.com/',
      serviceUrl: 'https://myapp.example.com/casHandler',
      protocolVersion: 3.0
    };
     
    const cas = new CAS(casOptions);
     
    // Create some end point in your app that redirects users to
    cas.loginUrl;
     
    // After the user authenticates they will be sent to the `/casHandler` end
    // point. The casHandler endpoint should retrieve the service ticket from the
    // URL query parameters and submit it to:
    cas
      .validateServiceTicket('the ticket')
      .then(function resolved(msg) {
        // the ticket successfully authenticated
      })
      .catch(function caught(error) {
        // the ticket did not authenticate
      });

    License

    MIT License

    Install

    npm i simple-cas-interface

    DownloadsWeekly Downloads

    35

    Version

    1.0.2

    License

    MIT

    Last publish

    Collaborators

    • avatar