Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/euank/synapse-password-reset
A companion tool for https://github.com/euank/synapse-backregister to manage password resets
https://github.com/euank/synapse-password-reset
Last synced: 2 months ago
JSON representation
A companion tool for https://github.com/euank/synapse-backregister to manage password resets
- Host: GitHub
- URL: https://github.com/euank/synapse-password-reset
- Owner: euank
- License: agpl-3.0
- Created: 2016-11-27T06:07:17.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-01-24T16:22:10.000Z (about 8 years ago)
- Last Synced: 2024-11-04T09:37:12.167Z (3 months ago)
- Language: Rust
- Size: 53.7 KB
- Stars: 11
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - euank/synapse-password-reset - A companion tool for https://github.com/euank/synapse-backregister to manage password resets (others)
README
This is a password reset tool based on the following things:
1) https://github.com/matrix-org/synapse/blob/9bba6ebaa903a81cd94fada114aa71e20b685adb/README.rst#password-reset
2) a filesystem-based database for storing shared secrets and expiration
3) the assumption that an administrator will be able to access said filesystem DB and use it as the means of generating a reset link
## Usage
Deploy this over https. Really.
### Administering a password reset
As an admin, you should have access to the filesystem including the token database directory.
Enter into the token database directory, and run the following to make a password reset:
```bash
token=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1)
echo -n "@username:matrix.server.name.com" > $token
```Provide the token to the user who forgot their password. Carefully validate it is actually them. gpg encrypt it for them. Live your dreams of the government trying to intercept your communication.
Eventually this might be less manual!
### TODO
* Web interface for admin (pls u2f)
* A better web interface for users.
* I dunno.### LICENSE
AGPL3