Skip to content

Commit 08120f9

Browse files
authored
Update README.md
1 parent d524b53 commit 08120f9

File tree

1 file changed

+121
-1
lines changed

1 file changed

+121
-1
lines changed

README.md

Lines changed: 121 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,121 @@
1-
# authorizer
1+
<p align="center">
2+
<a href="https://authorizer.dev">
3+
<img alt="Logo" src="https://github.com/authorizerdev/authorizer/blob/main/assets/logo.png" width="60" />
4+
</a>
5+
</p>
6+
<h1 align="center">
7+
Authorizer
8+
</h1>
9+
10+
11+
**Authorizer** is an open-source authentication and authorization solution for your applications. Bring your database and have complete control over the user information. You can self-host authorizer instances and connect to any SQL database.
12+
13+
## Table of contents
14+
- [Introduction](#introduction)
15+
- [Getting Started](#getting-started)
16+
- [Contributing](https://github.com/authorizerdev/authorizer/blob/main/.github/CONTRIBUTING.md)
17+
- [Docs](http://docs.authorizer.dev/)
18+
- [Join Community](https://discord.gg/2fXUQN3E)
19+
20+
# Introduction
21+
22+
<img src="https://github.com/authorizerdev/authorizer/blob/main/assets/authorizer-architecture.png" style="height:20em"/>
23+
24+
#### We offer the following functionality
25+
26+
- ✅ Sign-in / Sign-up with email ID and password
27+
- ✅ Secure session management
28+
- ✅ Email verification
29+
- ✅ APIs to update profile securely
30+
- ✅ Forgot password flow using email
31+
- ✅ Social logins (Google, Github, more coming soon)
32+
33+
## Project Status
34+
35+
⚠️ **Authorizer is still an early beta! missing features and bugs are to be expected!** If you can stomach it, then bring authentication and authorization to your site today!
36+
37+
## Roadmap
38+
39+
- Password-less login with email and magic link
40+
- Role-based access management system
41+
- Support more JWT encryption algorithms (Currently supporting HS256)
42+
- 2 Factor authentication
43+
- Back office (Admin dashboard to manage user)
44+
- Support more database
45+
- VueJS SDK
46+
- Svelte SDK
47+
- React Native SDK
48+
- Flutter SDK
49+
- Android Native SDK
50+
- iOS native SDK
51+
- Golang SDK
52+
- Python SDK
53+
- PHP SDK
54+
- WordPress plugin
55+
- Kubernetes Helm Chart
56+
- [Local Stack](https://github.com/localstack/localstack)
57+
- AMI
58+
- Digital Ocean Droplet
59+
- Azure
60+
- Render
61+
- Edge Deployment using Fly.io
62+
- Password-less login with mobile number and OTP SMS
63+
64+
# Getting Started
65+
66+
## Trying out Authorizer
67+
68+
This guide helps you practice using Authorizer to evaluate it before you use it in a production environment. It includes instructions for installing the Authorizer server in standalone mode.
69+
70+
## Installing a simple instance of Authorizer
71+
72+
Deploy Authorizer using [heroku](https://github.com/authorizerdev/authorizer-heroku) and quickly play with it in 30seconds
73+
<br/><br/>
74+
[![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/authorizerdev/authorizer-heroku)
75+
76+
### Things to consider
77+
78+
- For social logins, you will need respective social platform key and secret
79+
- For having verified users, you will need an SMTP server with an email address and password using which system can send emails. The system will send a verification link to an email address. Once an email is verified then, only able to access it.
80+
> Note: One can always disable the email verification to allow open sign up, which is not recommended for production as anyone can use anyone's email address 😅
81+
- For persisting user sessions, you will need Redis URL. If you do not configure a Redis server, sessions will be persisted until the instance is up or not restarted. For better response time on authorization requests/middleware, we recommend deploying Redis on the same infra/network as your authorizer server.
82+
83+
## Integrating into your website
84+
85+
This example demonstrates how you can use [`@authorizerdev/authorizer-js`](/authorizer-js/getting-started) CDN version and have login ready for your site in few seconds. You can also use the ES module version of [`@authorizerdev/authorizer-js`](/authorizer-js/getting-started) or framework-specific versions like [`@authorizerdev/authorizer-react`](/authorizer-react/getting-started)
86+
87+
### Copy the following code in `html` file
88+
89+
> **Note:** Change AUTHORIZER_URL in the below code with your authorizer URL. Also, you can change the logout button component
90+
91+
```html
92+
<script src="https://unpkg.com/@authorizerdev/authorizer-js/lib/authorizer.min.js"></script>
93+
94+
<script type="text/javascript">
95+
const authorizerRef = new authorizerdev.Authorizer({
96+
authorizerURL: `AUTHORIZER_URL`,
97+
redirectURL: window.location.origin,
98+
});
99+
100+
// use the button selector as per your application
101+
const logoutBtn = document.getElementById("logout");
102+
logoutBtn.addEventListener("click", async function () {
103+
await authorizerRef.logout();
104+
window.location.href = "/";
105+
});
106+
107+
async function onLoad() {
108+
const res = await authorizerRef.fingertipLogin();
109+
if (res && res.user) {
110+
// you can use user information here, eg:
111+
/**
112+
const userSection = document.getElementById('user');
113+
const logoutSection = document.getElementById('logout-section');
114+
logoutSection.classList.toggle('hide');
115+
userSection.innerHTML = `Welcome, ${res.user.email}`;
116+
*/
117+
}
118+
}
119+
onLoad();
120+
</script>
121+
```

0 commit comments

Comments
 (0)