0.5.0 • Published 5 years ago
authist v0.5.0
Authist
- Check our API documentation
Error codes
| Code | Message | How to debug / fix |
|---|---|---|
| PasswordMismatch | You entered a wrong password! | Did you store password we hashed for you? |
| UsernameRequired | Username is required field, please enter the username! | :thinking: |
| PasswordRequired | Password is required field, please enter the password! | :thinking: |
| UserNotFound | It seems this user doesn't exist, are you sure you entered correct credentials? | Do you want to enable auto registration? Declare saveNonExistingUser function |
🚧🏗️🚧
Under heavy development
Features
- supported features by Firebase Authentication, a fellow auth ideal service
- email and password authentication ref
- google authentication ref
- facebook authentication ref
- twitter authentication ref
- github authentication ref
- custom auth system authentication ref
- anonymous auth ref kept forever
- storing provider data ref what data
- reset password email ref
- recovery email ref
- verify email ref
Email and password authentication
Usage
import { createAuthenticator } from 'authist';
const authenticator = createAuthenticator({
getUserById: () => Promise.resolve(), // todo: add implementation
emailPassword: {
getUserByEmail: (email: string) => Promise.resolve(), // todo: add implementation
},
});
const { user, credentials } = await authenticator.signInWithEmailAndPassword(email, password);Express middleware
import express from 'express';
const app = express();
app.get('/users/me', authenticator.expressBearer, (req, res) => {
res.json(req.user);
});Facebook authentication
- The
signInWithFacebookmethod takestokenparameter that is Facebook access token you will get it on the frontend side - Your Facebook access token must have the
emailpermission assigned to successfully get the user's email
Usage
import { createAuthenticator } from 'authist';
const authenticator = createAuthenticator({
getUserById: () => Promise.resolve(), // todo: add implementation
facebook: {
getUserByEmail: (email: string) => Promise.resolve(), // todo: add implementation
graphApiVersion: 'v9.0',
},
});
const { user, credentials } = await authenticator.signInWithFacebook(accessToken);Google authentication
- The
signInWithGooglemethod takestokenparameter that is Google access token - Your Google access token must have the
emailscope assigned to successfully get the user's email
Usage
import { createAuthenticator } from 'authist';
const authenticator = createAuthenticator({
getUserById: () => Promise.resolve(), // todo: add implementation
google: {
getUserByEmail: (email: string) => Promise.resolve(), // todo: add implementation
},
});
const { user, credentials } = await authenticator.signInWithGoogle(accessToken);License
This project is licensed under MIT.