amps-kerberos-authenticator
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

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

/amps-kerberos-authenticator/

    Package Sidebar

    Install

    npm i amps-kerberos-authenticator

    Weekly Downloads

    0

    Version

    1.0.3

    License

    SEE LICENSE IN LICENSE

    Unpacked Size

    23.3 kB

    Total Files

    11

    Last publish

    Collaborators

    • 60east