2025-11-05 17:04:23 -03:00

61 lines
1.9 KiB
Markdown

# SASL : SCRAM-SHA-1
[![Build Status](https://travis-ci.org/otalk/xmpp-uri.png)](https://travis-ci.org/otalk/xmpp-uri)
[![Dependency Status](https://david-dm.org/otalk/xmpp-uri.png)](https://david-dm.org/otalk/xmpp-uri)
[![devDependency Status](https://david-dm.org/otalk/xmpp-uri/dev-status.png)](https://david-dm.org/otalk/xmpp-uri#info=devDependencies)
[![Browser Support](https://ci.testling.com/otalk/xmpp-uri.png)](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/)>