62 lines
2.1 KiB
Markdown
62 lines
2.1 KiB
Markdown
# webauth
|
|
|
|
The Node.js module implements the main mechanisms of web authentication.
|
|
At the moment webauth supports the following types of authentication:
|
|
* NTLM (The implementation of this type uses code written by [SamDecrock](https://github.com/SamDecrock) ([node-http-ntlm](https://github.com/SamDecrock/node-http-ntlm))
|
|
* Basic
|
|
|
|
## How to install
|
|
|
|
This project is a Node.js module that you can add to your application via the `npm` packet manager:
|
|
|
|
`npm install webauth`
|
|
|
|
## How to use
|
|
|
|
To authenticate the request to the server, use the `auth` method:
|
|
|
|
`auth(reqOptions, credentials, callback, [isHttps=false], [res], [method])`
|
|
|
|
* `reqOptions` - The request options object uses a signature identical to the [Node.js http/https request options](http://nodejs.org/api/http.html#http_http_request_options_callback);
|
|
* `credentials` - The object to which authentication parameters are passed:
|
|
|
|
````
|
|
{
|
|
username : 'Churkin.Andrey', // required field
|
|
password : 'myPass$1', // required field
|
|
domain : 'CORP', // is used in the NTLM auth
|
|
workstation: 'CHURKIN-LINUX' // is used in the NTLM auth
|
|
}
|
|
````
|
|
|
|
* `callback` - The function that will be called after the authentication;
|
|
* `isHttps` - Set `true` to use https protocol (`false` by default);
|
|
* `res` - An optional parameter that you need to pass to the method if you have already received a response from the server with the 401 error;
|
|
* `method` - The authentication type to be used. Possible values are: `NTLM`, `Basic`. If this value is not specified, it will be automatically selected based on the following priorities:
|
|
* NTLM
|
|
* Basic
|
|
|
|
## Example
|
|
|
|
````
|
|
var webauth = require('webauth');
|
|
|
|
var reqOptions = {
|
|
host: 'localhost',
|
|
headers: {
|
|
'accept-encoding' : 'gzip,deflate,sdch'
|
|
}
|
|
},
|
|
credentials = {
|
|
username: 'Churkin.Andrey',
|
|
password: 'myPass$1',
|
|
domain: 'CORP',
|
|
workstation: 'CHURKIN-LINUX'
|
|
};
|
|
|
|
webauth.auth(reqOptions, credentials, function(res) {
|
|
console.log(res.statusCode);
|
|
});
|
|
````
|
|
|