safe-auth
v0.2.1
Published
General purpose authentication solution for Node.js
Downloads
4
Maintainers
Readme
What's safe-auth
safe-auth is a general purpose authentication solution for Node.js. It's written in TypeScript with %100 test code coverage.
Features
At its core it provides these features:
- Create users
- Activate/Deactivate users
- Authenticating a user based on their username and password and returning the authenticated user
- Issuing a token for a user
- Authenticating a user based on an active issued token and returning the authenticated user
- Issuing new token based on a refresh token (signing in)
- Reset user's password when they forget it
- Revoking tokens (signing out)
- Revoking all active tokens of a user (signing out of all devices)
- Optionally block a user when he has several failed attempts
- Logging all requests, responses and events
- Configuring paramters and enabaling/disabling optional features in a centralized config system
Storage engines
By default safe-auth provides an in memory storage engine (not to be used in production) and it's able to use different storage engines via third party packages.
Currently there is a third party package that uses Sequelize as the storage backend which makes Postgres, MySQL, MariaDB, SQLite and Microsoft SQL available.
TypeORM and Mongoose will be supported by other third party packages soon. So the goal is to have at least these storage backends for safe-auth:
- Sequelize
- TypeORM
- Mongoose
Serving options
The core has its API with the JS classes it exposes. One can simply use these classes in her project. But there are third party packages that provide different serving options ready out of the box:
- HTTP POST/GET requests
- GraphQL
- Rest
Reporting bugs
You can report issues/bugs in the github repository of the project: https://github.com/evenset/safe-auth/issues