61 lines
1.9 KiB
Markdown
61 lines
1.9 KiB
Markdown
# SASL : SCRAM-SHA-1
|
|
|
|
[](https://travis-ci.org/otalk/xmpp-uri)
|
|
[](https://david-dm.org/otalk/xmpp-uri)
|
|
[](https://david-dm.org/otalk/xmpp-uri#info=devDependencies)
|
|
|
|
[](https://ci.testling.com/otalk/xmpp-uri)
|
|
|
|
|
|
This module is a JavaScript implementation of the SCRAM-SHA-1 SASL mechanism,
|
|
which plugs into the [SASL](https://github.com/jaredhanson/js-sasl) framework.
|
|
|
|
**July 2024:** This repository is a continuation of the development of the
|
|
library, which was [archived by the original developer](https://github.com/legastero/js-sasl-scram-sha-1).
|
|
Many thanks to Lance for the library and for helping with the transition.
|
|
|
|
## Installing
|
|
|
|
```sh
|
|
$ npm install sasl-scram-sha-1
|
|
```
|
|
|
|
## Usage
|
|
|
|
Register the SCRAM-SHA-1 mechanism.
|
|
|
|
```javascript
|
|
factory.use(require('sasl-scram-sha-1'));
|
|
```
|
|
|
|
Send an authentication response with necessary credentials.
|
|
|
|
```
|
|
var mech = factory.create(['SCRAM-SHA-1']);
|
|
var initial = mech.response({username: 'chris', password: 'secret'});
|
|
|
|
var secondResp = mech.challenge('r="XCV234BAL90",s="XMXC234DFS",i=4096')
|
|
.response({username: 'chris', password: 'secret'});
|
|
```
|
|
|
|
## TODO
|
|
|
|
Currently missing features:
|
|
|
|
- Mutual authentication of the server based on the success message.
|
|
|
|
|
|
## Credits
|
|
|
|
- [Lance Stout](http://github.com/legastero)
|
|
- [Jared Hanson](http://github.com/jaredhanson)
|
|
- [Stephen Paul Weber](https://github.com/singpolyma)
|
|
|
|
## License
|
|
|
|
[The MIT License](http://opensource.org/licenses/MIT)
|
|
|
|
Copyright (c) 2013 Lance Stout <[http://github.com/legasteros/](http://github.com/legastero/)>
|
|
Copyright (c) 2012 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>
|
|
Copyright (c) 2024 Stephen Paul Weber <[https://singpolyma.net/](https://singpolyma.net/)>
|