Overview
This document describes the SCRAM serialization format used by MongooseIM.
Developers can use this information to create advanced endpoints for ejabberd_auth_http
or enable other software to read (i.e. share) the user authentication data.
Format description
==SCRAM==,<stored key>,<server key>,<salt>,<iteration count>
<stored key>
- Base64-encoded Stored Key<server key>
- Base64-encoded Server Key<salt>
- Base64-encoded Salt<iteration count>
- Iteration Count formatted as a human-readable integer
In order to learn more about the meaning of the Stored Key, Server Key, Salt and Iteration Count, please check the SCRAM specification.
Example
- Password:
misio
- Erlang record:
#scram{ storedkey = <<"tmi5IE+9pceRV/jkPLFHEaVY33c=">>, serverkey = <<"MiWNa8T3dniVDwmh77ufJ41fpAQ=">>, salt = <<"inKXODlSY5y5SCsLxibi0w==">>, iterationcount = 4096 }
- Serialized password:
==SCRAM==,tmi5IE+9pceRV/jkPLFHEaVY33c=,MiWNa8T3dniVDwmh77ufJ41fpAQ=,inKXODlSY5y5SCsLxibi0w==,4096