1.0.3 • Published 5 years ago

amps-kerberos-authenticator v1.0.3

Weekly downloads
16
License
SEE LICENSE IN LI...
Repository
github
Last release
5 years ago

AMPS JavaScript Client Kerberos Authentication for Node.js

Installation

npm install --save amps-kerberos-authenticator

Dependencies

amps-kerberos-authenticator depends on the amps and kerberos packages. In case of the installation from NPM, all the dependencies are installed automatically.

Kerberos Prerequisites

  • AMPS SPN (for example, AMPS/host.domain.com)
  • Optionally set Kerberos environment variables

    • KRB5_CONFIG set to a krb5.conf file that will override the default (the default is /etc/krb5.conf on linux)
    • KRB5_CLIENT_KTNAME set to a KeyTab for the user you want to authentication as

    In Node.js, environment variables can be set in the source code:

    process.env['KRB5_CONFIG'] = '/path/to/krb5.conf';
    process.env['KRB5_CLIENT_KTNAME'] = '/path/to/client_name.keytab';

Example

For Kerberos authentication using JavaScript there is a single class, AMPSKerberosAuthenticator, for authentication in Node.js environment.

const Client = require('amps').Client;
const AMPSKerberosAuthenticator = require('amps-kerberos-authenticator').AMPSKerberosAuthenticator;


async function main() {
    const client = new Client('demo');

    // connection credentials
    const login = 'username';
    const port = 10304;
    const hostName = 'hostname';
    const uri = `ws://${login}@${hostName}:${port}/amps/json`;
    const spn = `AMPS/${hostName}`;

    try {
        // connect
        await client.connect(uri, new AMPSKerberosAuthenticator(spn));
    }
    catch (err) {
        console.error('err: ', err);
    }
}


main();

See Also

Kerberos Authentication Blog Article

libamps_multi_authentication AMPS Server Module

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago