Innovenergy_trunk/frontend/node_modules/webauth/README.md

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);
});
````