Cleanup README formatting
This commit is contained in:
parent
550e301083
commit
ee83d0e3ee
92
README.md
92
README.md
|
@ -1,38 +1,40 @@
|
||||||
# Ldapjs
|
# LDAPjs
|
||||||
|
|
||||||
[!['Build status'][travis_image_url]][travis_page_url]
|
[!['Build status'][travis_image_url]][travis_page_url]
|
||||||
|
|
||||||
[travis_image_url]: https://api.travis-ci.org/mcavage/node-ldapjs.png
|
[travis_image_url]: https://api.travis-ci.org/mcavage/node-ldapjs.svg
|
||||||
[travis_page_url]: https://travis-ci.org/mcavage/node-ldapjs
|
[travis_page_url]: https://travis-ci.org/mcavage/node-ldapjs
|
||||||
|
|
||||||
ldapjs makes the LDAP protocol a first class citizen in Node.js.
|
LDAPjs makes the LDAP protocol a first class citizen in Node.js.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
For full docs, head on over to <http://ldapjs.org>.
|
For full docs, head on over to <http://ldapjs.org>.
|
||||||
|
|
||||||
var ldap = require('ldapjs');
|
```javascript
|
||||||
|
var ldap = require('ldapjs');
|
||||||
|
|
||||||
var server = ldap.createServer();
|
var server = ldap.createServer();
|
||||||
|
|
||||||
server.search('dc=example', function(req, res, next) {
|
server.search('dc=example', function(req, res, next) {
|
||||||
var obj = {
|
var obj = {
|
||||||
dn: req.dn.toString(),
|
dn: req.dn.toString(),
|
||||||
attributes: {
|
attributes: {
|
||||||
objectclass: ['organization', 'top'],
|
objectclass: ['organization', 'top'],
|
||||||
o: 'example'
|
o: 'example'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (req.filter.matches(obj.attributes))
|
if (req.filter.matches(obj.attributes))
|
||||||
res.send(obj);
|
res.send(obj);
|
||||||
|
|
||||||
res.end();
|
res.end();
|
||||||
});
|
});
|
||||||
|
|
||||||
server.listen(1389, function() {
|
server.listen(1389, function() {
|
||||||
console.log('ldapjs listening at ' + server.url);
|
console.log('ldapjs listening at ' + server.url);
|
||||||
});
|
});
|
||||||
|
```
|
||||||
|
|
||||||
To run that, assuming you've got the [OpenLDAP](http://www.openldap.org/) client
|
To run that, assuming you've got the [OpenLDAP](http://www.openldap.org/) client
|
||||||
on your system:
|
on your system:
|
||||||
|
@ -42,31 +44,33 @@ on your system:
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
npm install ldapjs
|
npm install ldapjs
|
||||||
|
|
||||||
## Formatting objectGUID attribute value
|
## Formatting objectGUID attribute value
|
||||||
|
|
||||||
var ldap = require('ldapjs');
|
```javascript
|
||||||
|
var ldap = require('ldapjs');
|
||||||
ldap.Attribute.settings.guid_format = ldap.GUID_FORMAT_B;
|
|
||||||
|
ldap.Attribute.settings.guid_format = ldap.GUID_FORMAT_B;
|
||||||
var client = ldap.createClient({
|
|
||||||
url: 'ldap://127.0.0.1/CN=test,OU=Development,DC=Home'
|
var client = ldap.createClient({
|
||||||
});
|
url: 'ldap://127.0.0.1/CN=test,OU=Development,DC=Home'
|
||||||
|
});
|
||||||
var opts = {
|
|
||||||
filter: '(objectclass=user)',
|
var opts = {
|
||||||
scope: 'sub',
|
filter: '(objectclass=user)',
|
||||||
attributes: ['objectGUID']
|
scope: 'sub',
|
||||||
};
|
attributes: ['objectGUID']
|
||||||
|
};
|
||||||
client.bind('username', 'password', function (err) {
|
|
||||||
client.search('CN=test,OU=Development,DC=Home', opts, function (err, search) {
|
client.bind('username', 'password', function (err) {
|
||||||
search.on('searchEntry', function (entry) {
|
client.search('CN=test,OU=Development,DC=Home', opts, function (err, search) {
|
||||||
var user = entry.object;
|
search.on('searchEntry', function (entry) {
|
||||||
console.log(user.objectGUID);
|
var user = entry.object;
|
||||||
});
|
console.log(user.objectGUID);
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
_Note: for the sake of simplicity all checks and error handling was removed from the sample above._
|
_Note: for the sake of simplicity all checks and error handling was removed from the sample above._
|
||||||
|
|
||||||
|
@ -74,7 +78,7 @@ The console output may be similar to the following (depending on the amount of u
|
||||||
|
|
||||||
{a7667bb1-4aee-48ce-9d9d-a1193550deba}
|
{a7667bb1-4aee-48ce-9d9d-a1193550deba}
|
||||||
{8d642ac8-14c6-4f27-ac5-94d39833da88}
|
{8d642ac8-14c6-4f27-ac5-94d39833da88}
|
||||||
|
|
||||||
Available formatting modes:
|
Available formatting modes:
|
||||||
|
|
||||||
GUID_FORMAT_N
|
GUID_FORMAT_N
|
||||||
|
@ -94,7 +98,7 @@ Available formatting modes:
|
||||||
where the fourth value is a subset of eight hexadecimal values that is also enclosed in braces:
|
where the fourth value is a subset of eight hexadecimal values that is also enclosed in braces:
|
||||||
{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
|
{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
|
||||||
|
|
||||||
Guid formatting is unobtrusive by default. You should explicitly define formatting mode in order to enable it.
|
GUID formatting is unobtrusive by default. You should explicitly define formatting mode in order to enable it.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue