Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tallylab/twilio-auth
Second-factor auth that generates deterministic NaCl keys from Twilio/Authy
https://github.com/tallylab/twilio-auth
authy ed25519 express nacl sms twilio voice
Last synced: about 6 hours ago
JSON representation
Second-factor auth that generates deterministic NaCl keys from Twilio/Authy
- Host: GitHub
- URL: https://github.com/tallylab/twilio-auth
- Owner: tallylab
- License: mit
- Created: 2020-04-30T15:01:18.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-12T16:35:04.000Z (almost 2 years ago)
- Last Synced: 2024-05-01T09:44:12.169Z (6 months ago)
- Topics: authy, ed25519, express, nacl, sms, twilio, voice
- Language: JavaScript
- Homepage:
- Size: 1.55 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Twilio Auth
> Second Factor Auth for Distributed Systems using TwilioThis module hashes and salts a valid and verified phone number and returns a NaCL sr25519 keypair
based on the generated seed. It is currently used in the
[Remote Education Log](https://log.education).## Install
### Prerequisites
Usage of this module requires a **Twilio account** as well as a working **Verify Service**.
1. Create an account at https://twilio.com
2. Go to https://www.twilio.com/console/project/settings and get your account SID and Auth token
from the **LIVE Credentials** section (Verify does not work with TEST Credentials)
2. Go to https://www.twilio.com/console/verify/services and add a new service### Configuration
At the end of the above process, you should have the values you need for these three environment
variables:```
TWILIO_ACCOUNT_SID=[Account SID taken from LIVE credentials on settings page]
TWILIO_AUTH_TOKEN=[Auth token from LIVE credentials on settings page]
TWILIO_VERIFY_SID=[Service of your Twilio Verify Service]
```Then, generate a strong salt value and use that for the `SALT` environment variable.
Finally choose an `HTTP_HOST` and `HTTP_PORT`.
## Usage
Now let's put those variables to use!
First clone the repo:
```bash
git clone https://github.com/tallylab/twilio-auth
```### Running with node.js
1. Create an .env file, see .env.example for the required configuration keys.
2. `npm start`### Running with Docker
This repo also comes with a `Dockerfile` which would allow you to package and build this.
Note that this automatically sets `HTTP_HOST` to `0.0.0.0` and `HTTP_PORT` to `3000` so you
don't need to worry about those.```bash
docker run -d \
-e SALT=[your salt] \
-e TWILIO_ACCOUNT_SID=[enter account sid] \
-e TWILIO_AUTH_TOKEN=[your auth token] \
-e TWILIO_VERIFY_SID=[your verify service id] \
-p 3000:3000 \
--name twilio-auth \
tallylab/twilio-auth:latest
```## Contributing
PRs and Issues welcome and accepted! We would love to hear your feedback.
## License
[MIT](./LICENSE) Copyright © 2019-2020 TallyLab, LLC