 [](https://packagephobia.com/result?p=node-rs-krb5) [

Prebuilt node kerberus native binding written by pure rust.
It is based on node-krb5 (huge thx for @gboutry 🙏), but you don't need to compile the library.
node-rs-krb5 uses napi-rs, which is a Rust based framework for building pre-compiled Node.js addons.
We are supporting all the main platforms (mac, linux, windows) and CPU architectures (arm64, x64).
``bash`
yarn add node-rs-krb5
npm install -S node-rs-krb5
| | node20 | node22 | node24 |
| --------------------- | ------ | ------ | ------ |
| Windows x64 | ✓ | ✓ | ✓ |
| macOS x64 | ✓ | ✓ | ✓ |
| macOS arm64 (m chips) | ✓ | ✓ | ✓ |
| Linux x64 gnu | ✓ | ✓ | ✓ |
| Linux arm gnu | ✓ | ✓ | ✓ |
Feel free to create an issue if you need other CPU architecture support. 🥰
Initially, I only added the basics.
You need to install the MIT Kerberos library.
* Mac
``
brew install krb5
* Linux
``
pacman -S krb5
yum install -y krb5-libs
apt-get install libkrb5-3
* Windows
``
choco install mitkerberos
`js
import { kinit, spnego } from 'node-rs-krb5';
kinit({
principal: 'admin',
password: 'adm1n_p4ssw0rd',
realm: 'KRB.LOCAL',
ccname: '/tmp/customcc'
}).then(ccname => {
console.log('Credentials saved in', ccname);
return spnego({
hostbased_service: 'HTTP@m01.krb.local'
});
}).then(token => {
console.log('SPNEGO token :', token);
}).catch(err => {
console.log(err);
});
``