1.0.3 • Published 6 years ago
amps-kerberos-authenticator v1.0.3
AMPS JavaScript Client Kerberos Authentication for Node.js
Installation
npm install --save amps-kerberos-authenticatorDependencies
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_CONFIGset to a krb5.conf file that will override the default (the default is- /etc/krb5.confon linux)
- KRB5_CLIENT_KTNAMEset 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