Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gragland/fake-auth
A fake auth service for prototyping authentication flows
https://github.com/gragland/fake-auth
authentication javascript prototyping
Last synced: about 5 hours ago
JSON representation
A fake auth service for prototyping authentication flows
- Host: GitHub
- URL: https://github.com/gragland/fake-auth
- Owner: gragland
- License: mit
- Created: 2019-07-14T23:43:18.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T21:54:49.000Z (almost 2 years ago)
- Last Synced: 2024-10-28T17:21:30.604Z (20 days ago)
- Topics: authentication, javascript, prototyping
- Language: JavaScript
- Homepage:
- Size: 343 KB
- Stars: 65
- Watchers: 2
- Forks: 5
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🔐 Fake Auth
A fake auth service for prototyping authentication flows and error states. It currently supports signin, signup, signinWithProvider (google, fb, etc), password resetting, updating email, updating profile data, and subscribing to auth state changes.
Everything is client-side, including the "database" which is stored in local storage. Perfect for quick prototyping or theme developers who'd like to have a demo site without needing to setup a backend.
# Install
```
npm install fake-auth --save
```# Usage
A simple example with React
```jsx
import React, { useState } from "react";
import fakeAuth from "fake-auth";function SigninComponent(props) {
const [error, setError] = useState();const handleSubmit = (email, pass) => {
fakeAuth
.signin(email, pass)
.then((response) => {
props.onSignin(response.user);
})
.catch((error) => {
setError(error);
});
};return (
{
const [email, pass] = event.target.children;
handleSubmit(email, pass);
}}
>
{error &&{error.message}
}
);
}
```# Methods
- `signup(email, pass).then((response) => ...)`
- `signin(email, pass).then((response) => ...)`
- `signinWithProvider(provider).then((response) => ...)`
- `signout().then(() => ...)`
- `onChange((response) => ...)`
- `sendPasswordResetEmail(email).then(() => ...)`
- `confirmPasswordReset(email, code).then(() => ...)`
- `updateEmail(email).then(() => ...)`
- `updatePassword(pass).then(() => ...)`
- `updateProfile(data).then(() => ...)`
- `getCurrentUser().then((user) => ...)`