You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+41-27Lines changed: 41 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,8 @@
1
1
Kerberos
2
2
========
3
-
The `kerberos` package is a C++ extension for Node.js that provides cross-platform support for kerberos authentication using GSSAPI on linux/osx, and SSPI on windows. Much of the code in this module is adapted from [ccs-kerberos](https://github.com/apple/ccs-pykerberos) and [winkerberos](https://github.com/mongodb-labs/winkerberos).
3
+
The `kerberos` package is a C++ extension for Node.js that provides cross-platform support for kerberos authentication
4
+
using GSSAPI on linux/osx, and SSPI on windows. Much of the code in this module is adapted from
5
+
[ccs-kerberos](https://github.com/apple/ccs-pykerberos) and [winkerberos](https://github.com/mongodb-labs/winkerberos).
4
6
5
7
### Requirements
6
8
@@ -15,27 +17,34 @@ The `kerberos` package is a C++ extension for Node.js that provides cross-platfo
15
17
- Distribution-specific kerberos packages (e.g. `krb5` on Homebrew)
16
18
17
19
**Windows**
18
-
-**Option 1:** Install all the required tools and configurations using Microsoft's [windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) by running `npm install -g windows-build-tools` from an elevated PowerShell (run as Administrator).
20
+
-**Option 1:** Install all the required tools and configurations using Microsoft's
21
+
[windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) by running `npm install -g
22
+
windows-build-tools` from an elevated PowerShell (run as Administrator).
19
23
-**Option 2:** Install dependencies and configuration manually
20
-
1. Visual C++ Build Environment:
21
-
***Option 1:** Install [Visual C++ Build Tools](http://go.microsoft.com/fwlink/?LinkId=691126) using the *Default Install* option.
22
-
***Option 2:** Install [Visual Studio 2015](https://www.visualstudio.com/products/visual-studio-community-vs) (or modify an existing installation) and select *Common Tools for Visual C++* during setup.
24
+
1. Visual C++ Build Environment:
25
+
***Option 1:** Install [Visual C++ Build Tools](http://go.microsoft.com/fwlink/?LinkId=691126) using the *Default
26
+
Install* option.
27
+
***Option 2:** Install [Visual Studio 2015](https://www.visualstudio.com/products/visual-studio-community-vs) (or
28
+
modify an existing installation) and select *Common Tools for Visual C++* during setup.
23
29
24
-
> :bulb:[Windows Vista / 7 only] requires [.NET Framework 4.5.1](http://www.microsoft.com/en-us/download/details.aspx?id=40773)
30
+
> :bulb:[Windows Vista / 7 only] requires [.NET Framework
2. Install [Python 2.7](https://www.python.org/downloads/) or [Miniconda 2.7](http://conda.pydata.org/miniconda.html) (`v3.x.x` is not supported), and run `npm config set python python2.7`
27
-
3. Launch cmd, `npm config set msvs_version 2015`
33
+
2. Install [Python 2.7](https://www.python.org/downloads/) or [Miniconda 2.7](http://conda.pydata.org/miniconda.html)
34
+
(`v3.x.x` is not supported), and run `npm config set python python2.7`
35
+
3. Launch cmd, `npm config set msvs_version 2015`
28
36
29
37
### MongoDB Node.js Driver Version Compatibility
30
38
31
-
Only the following version combinations with the [MongoDB Node.js Driver](https://github.com/mongodb/node-mongodb-native) are considered stable.
39
+
Only the following version combinations with the [MongoDB Node.js
40
+
Driver](https://github.com/mongodb/node-mongodb-native) are considered stable.
@@ -51,18 +60,20 @@ Below are the platforms that are available as prebuilds on each github release.
51
60
`prebuild-install` downloads these automatically depending on the platform you are running npm install on.
52
61
53
62
- Linux GLIBC 2.23 or later
54
-
- s390x
55
-
- arm64
56
-
- x64
63
+
- s390x
64
+
- arm64
65
+
- x64
57
66
- MacOS universal binary
58
-
- x64
59
-
- arm64
67
+
- x64
68
+
- arm64
60
69
- Windows
61
-
- x64
70
+
- x64
62
71
63
72
### Release Integrity
64
73
65
-
Releases are created automatically and signed using the [Node team's GPG key](https://pgp.mongodb.com/node-driver.asc). This applies to the git tag as well as all release packages provided as part of a GitHub release. To verify the provided packages, download the key and import it using gpg:
74
+
Releases are created automatically and signed using the [Node team's GPG key](https://pgp.mongodb.com/node-driver.asc).
75
+
This applies to the git tag as well as all release packages provided as part of a GitHub release. To verify the provided
76
+
packages, download the key and import it using gpg:
66
77
67
78
```
68
79
gpg --import node-driver.asc
@@ -71,9 +82,9 @@ gpg --import node-driver.asc
71
82
The GitHub release contains a detached signature file for the NPM package (named
72
83
`kerberos-X.Y.Z.tgz.sig`).
73
84
74
-
The following command returns the link npm package.
85
+
The following command returns the link npm package.
No verification is done when using npm to install the package. To ensure release integrity when using npm, download the tarball manually from the GitHub release, verify the signature, then install the package from the downloaded tarball using npm install mongodb-X.Y.Z.tgz.
98
+
No verification is done when using npm to install the package. To ensure release integrity when using npm, download the
99
+
tarball manually from the GitHub release, verify the signature, then install the package from the downloaded tarball
100
+
using npm install mongodb-X.Y.Z.tgz.
88
101
89
-
To verify the native `.node` packages, follow the same steps as above.
102
+
To verify the native `.node` packages, follow the same steps as above.
|[options.principal]| <code>string</code> | Optional string containing the client principal in the form 'user@realm' (e.g. '[email protected]'). |
280
294
|[options.flags]| <code>number</code> | Optional integer used to set GSS flags. (e.g. `GSS_C_DELEG_FLAG\|GSS_C_MUTUAL_FLAG\|GSS_C_SEQUENCE_FLAG` will allow for forwarding credentials to the remote host) |
281
-
|[options.mechOID]| <code>number</code> | Optional GSS mech OID. Defaults to None (`GSS_C_NO_OID`). Other possible values are `GSS_MECH_OID_KRB5`, `GSS_MECH_OID_SPNEGO`. |
295
+
|[options.mechOID]| <code>number</code> | Optional GSS mech OID. Defaults to None (GSS_C_NO_OID). Other possible values are `GSS_MECH_OID_KRB5`, `GSS_MECH_OID_SPNEGO`. |
282
296
|[callback]| <code>function</code> ||
283
297
284
298
Initializes a context for client-side authentication with the given service principal.
The `kerberos` package is a C++ extension for Node.js that provides cross-platform support for kerberos authentication using GSSAPI on linux/osx, and SSPI on windows. Much of the code in this module is adapted from [ccs-kerberos](https://github.com/apple/ccs-pykerberos) and [winkerberos](https://github.com/mongodb-labs/winkerberos).
3
+
The `kerberos` package is a C++ extension for Node.js that provides cross-platform support for kerberos authentication
4
+
using GSSAPI on linux/osx, and SSPI on windows. Much of the code in this module is adapted from
5
+
[ccs-kerberos](https://github.com/apple/ccs-pykerberos) and [winkerberos](https://github.com/mongodb-labs/winkerberos).
6
6
7
7
### Requirements
8
8
@@ -17,16 +17,34 @@ The `kerberos` package is a C++ extension for Node.js that provides cross-platfo
17
17
- Distribution-specific kerberos packages (e.g. `krb5` on Homebrew)
18
18
19
19
**Windows**
20
-
- **Option 1:** Install all the required tools and configurations using Microsoft's [windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) by running `npm install -g windows-build-tools` from an elevated PowerShell (run as Administrator).
20
+
- **Option 1:** Install all the required tools and configurations using Microsoft's
21
+
[windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) by running `npm install -g
22
+
windows-build-tools` from an elevated PowerShell (run as Administrator).
21
23
- **Option 2:** Install dependencies and configuration manually
22
-
1. Visual C++ Build Environment:
23
-
* **Option 1:** Install [Visual C++ Build Tools](http://go.microsoft.com/fwlink/?LinkId=691126) using the *Default Install* option.
24
-
* **Option 2:** Install [Visual Studio 2015](https://www.visualstudio.com/products/visual-studio-community-vs) (or modify an existing installation) and select *Common Tools for Visual C++* during setup.
24
+
1. Visual C++ Build Environment:
25
+
* **Option 1:** Install [Visual C++ Build Tools](http://go.microsoft.com/fwlink/?LinkId=691126) using the *Default
26
+
Install* option.
27
+
* **Option 2:** Install [Visual Studio 2015](https://www.visualstudio.com/products/visual-studio-community-vs) (or
28
+
modify an existing installation) and select *Common Tools for Visual C++* during setup.
29
+
30
+
> :bulb: [Windows Vista / 7 only] requires [.NET Framework
2. Install [Python 2.7](https://www.python.org/downloads/) or [Miniconda 2.7](http://conda.pydata.org/miniconda.html) (`v3.x.x` is not supported), and run `npm config set python python2.7`
29
-
3. Launch cmd, `npm config set msvs_version 2015`
39
+
Only the following version combinations with the [MongoDB Node.js
40
+
Driver](https://github.com/mongodb/node-mongodb-native) are considered stable.
* @param {string} service A string containing the service principal in the form 'type@fqdn' (e.g. '[email protected]').
158
158
* @param {object} [options] Optional settings
159
159
* @param {string} [options.principal] Optional string containing the client principal in the form 'user@realm' (e.g. '[email protected]').
160
-
* @param {number} [options.gssFlags] Optional integer used to set GSS flags. (e.g. GSS_C_DELEG_FLAG|GSS_C_MUTUAL_FLAG|GSS_C_SEQUENCE_FLAG will allow for forwarding credentials to the remote host)
160
+
* @param {number} [options.flags] Optional integer used to set GSS flags. (e.g. `GSS_C_DELEG_FLAG\|GSS_C_MUTUAL_FLAG\|GSS_C_SEQUENCE_FLAG` will allow for forwarding credentials to the remote host)
161
161
* @param {number} [options.mechOID] Optional GSS mech OID. Defaults to None (GSS_C_NO_OID). Other possible values are `GSS_MECH_OID_KRB5`, `GSS_MECH_OID_SPNEGO`.
162
162
* @param {function} [callback]
163
163
* @return {Promise} returns Promise if no callback passed
0 commit comments