1.0.3 • Published 5 years ago
amps-kerberos-authenticator v1.0.3
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