fix: getting started
This commit is contained in:
parent
d6f60ce464
commit
0c54da1168
76
README.md
76
README.md
|
@ -59,35 +59,42 @@
|
||||||
|
|
||||||
# Getting Started
|
# Getting Started
|
||||||
|
|
||||||
## Trying out Authorizer
|
## Step 1: Get Authorizer Instance
|
||||||
|
|
||||||
|
### Deploy Production Ready Instance
|
||||||
|
|
||||||
|
Deploy production ready Authorizer instance using one click deployment options available below
|
||||||
|
|
||||||
|
| **Infra provider** | **One-click link** | **Additional information** |
|
||||||
|
| :----------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------: |
|
||||||
|
| Railway.app | <a href="https://railway.app/new/template?template=https://github.com/authorizerdev/authorizer-railway&plugins=postgresql,redis"><img src="https://railway.app/button.svg" style="height: 44px" alt="Deploy on Railway"></a> | [docs](https://docs.authorizer.dev/deployment/railway) |
|
||||||
|
| Heroku | <a href="https://heroku.com/deploy?template=https://github.com/authorizerdev/authorizer-heroku"><img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy to Heroku" style="height: 44px;"></a> | [docs](https://docs.authorizer.dev/deployment/heroku) |
|
||||||
|
| Render | [](https://render.com/deploy?repo=https://github.com/authorizerdev/authorizer-render) | [docs](https://docs.authorizer.dev/deployment/render) |
|
||||||
|
|
||||||
|
### Deploy Authorizer Using Source Code
|
||||||
|
|
||||||
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 local or standalone mode.
|
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 local or standalone mode.
|
||||||
|
|
||||||
- [Install using source code](#install-using-source-code)
|
#### Install using source code
|
||||||
- [Install using binaries](#install-using-binaries)
|
|
||||||
- [Install instance on heroku](#install-instance-on-Heroku)
|
|
||||||
- [Install instance on railway.app](#install-instance-on-railway)
|
|
||||||
|
|
||||||
## Install using source code
|
#### Prerequisites
|
||||||
|
|
||||||
### Prerequisites
|
|
||||||
|
|
||||||
- OS: Linux or macOS or windows
|
- OS: Linux or macOS or windows
|
||||||
- Go: (Golang)(https://golang.org/dl/) >= v1.15
|
- Go: (Golang)(https://golang.org/dl/) >= v1.15
|
||||||
|
|
||||||
### Project Setup
|
#### Project Setup
|
||||||
|
|
||||||
1. Fork the [authorizer](https://github.com/authorizerdev/authorizer) repository (**Skip this step if you have access to repo**)
|
1. Fork the [authorizer](https://github.com/authorizerdev/authorizer) repository (**Skip this step if you have access to repo**)
|
||||||
2. Clone repo: `git clone https://github.com/authorizerdev/authorizer.git` or use the forked url from step 1
|
2. Clone repo: `git clone https://github.com/authorizerdev/authorizer.git` or use the forked url from step 1
|
||||||
3. Change directory to authorizer: `cd authorizer`
|
3. Change directory to authorizer: `cd authorizer`
|
||||||
5. Create Env file `cp .env.sample .env`. Check all the supported env [here](https://docs.authorizer.dev/core/env/)
|
4. Create Env file `cp .env.sample .env`. Check all the supported env [here](https://docs.authorizer.dev/core/env/)
|
||||||
6. Build Dashboard `make build-dashboard`
|
5. Build Dashboard `make build-dashboard`
|
||||||
7. Build App `make build-app`
|
6. Build App `make build-app`
|
||||||
8. Build Server `make clean && make`
|
7. Build Server `make clean && make`
|
||||||
> Note: if you don't have [`make`](https://www.ibm.com/docs/en/aix/7.2?topic=concepts-make-command), you can `cd` into `server` dir and build using the `go build` command
|
> Note: if you don't have [`make`](https://www.ibm.com/docs/en/aix/7.2?topic=concepts-make-command), you can `cd` into `server` dir and build using the `go build` command
|
||||||
9. Run binary `./build/server`
|
8. Run binary `./build/server`
|
||||||
|
|
||||||
## Install using binaries
|
### Deploy Authorizer using binaries
|
||||||
|
|
||||||
Deploy / Try Authorizer using binaries. With each [Authorizer Release](https://github.com/authorizerdev/authorizer/releases)
|
Deploy / Try Authorizer using binaries. With each [Authorizer Release](https://github.com/authorizerdev/authorizer/releases)
|
||||||
binaries are baked with required deployment files and bundled. You can download a specific version of it for the following operating systems:
|
binaries are baked with required deployment files and bundled. You can download a specific version of it for the following operating systems:
|
||||||
|
@ -95,7 +102,7 @@ binaries are baked with required deployment files and bundled. You can download
|
||||||
- Mac OSX
|
- Mac OSX
|
||||||
- Linux
|
- Linux
|
||||||
|
|
||||||
### Step 1: Download and unzip bundle
|
#### Download and unzip bundle
|
||||||
|
|
||||||
- Download the Bundle for the specific OS from the [release page](https://github.com/authorizerdev/authorizer/releases)
|
- Download the Bundle for the specific OS from the [release page](https://github.com/authorizerdev/authorizer/releases)
|
||||||
|
|
||||||
|
@ -115,11 +122,7 @@ binaries are baked with required deployment files and bundled. You can download
|
||||||
cd authorizer
|
cd authorizer
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 2: Configure environment variables
|
#### Step 3: Start Authorizer
|
||||||
|
|
||||||
Required environment variables are pre-configured in `.env` file. But based on the production requirements, please configure more environment variables. You can refer to [environment variables docs](/core/env) for more information.
|
|
||||||
|
|
||||||
### Step 3: Start Authorizer
|
|
||||||
|
|
||||||
- Run following command to start authorizer
|
- Run following command to start authorizer
|
||||||
|
|
||||||
|
@ -131,20 +134,20 @@ Required environment variables are pre-configured in `.env` file. But based on t
|
||||||
|
|
||||||
> Note: For mac users, you might have to give binary the permission to execute. Here is the command you can use to grant permission `xattr -d com.apple.quarantine build/server`
|
> Note: For mac users, you might have to give binary the permission to execute. Here is the command you can use to grant permission `xattr -d com.apple.quarantine build/server`
|
||||||
|
|
||||||
Deploy production ready Authorizer instance using one click deployment options available below
|
## Step 2: Setup Instance
|
||||||
|
|
||||||
| **Infra provider** | **One-click link** | **Additional information** |
|
- Open authorizer instance endpoint in browser
|
||||||
| :----------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------: |
|
- Sign up as an admin with a secure password
|
||||||
| Railway.app | <a href="https://railway.app/new/template?template=https://github.com/authorizerdev/authorizer-railway&plugins=postgresql,redis"><img src="https://railway.app/button.svg" style="height: 44px" alt="Deploy on Railway"></a> | [docs](https://docs.authorizer.dev/deployment/railway) |
|
- Configure environment variables from authorizer dashboard. Check env [docs](/core/env) for more information
|
||||||
| Heroku | <a href="https://heroku.com/deploy?template=https://github.com/authorizerdev/authorizer-heroku"><img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy to Heroku" style="height: 44px;"></a> | [docs](https://docs.authorizer.dev/deployment/heroku) |
|
|
||||||
| Render | [](https://render.com/deploy?repo=https://github.com/authorizerdev/authorizer-render) | [docs](https://docs.authorizer.dev/deployment/render) |
|
> Note: `DATABASE_URL`, `DATABASE_TYPE` and `DATABASE_NAME` are only configurable via platform envs
|
||||||
|
|
||||||
### Things to consider
|
### Things to consider
|
||||||
|
|
||||||
- For social logins, you will need respective social platform key and secret
|
- For social logins, you will need respective social platform key and secret
|
||||||
- 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.
|
- 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.
|
||||||
> 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 😅
|
> 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 😅
|
||||||
- For persisting user sessions, you will need Redis URL (not in case of railway.app). 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.
|
- For persisting user sessions, you will need Redis URL (not in case of railway app). 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.
|
||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
|
|
||||||
|
@ -163,8 +166,9 @@ This example demonstrates how you can use [`@authorizerdev/authorizer-js`](/auth
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
const authorizerRef = new authorizerdev.Authorizer({
|
const authorizerRef = new authorizerdev.Authorizer({
|
||||||
authorizerURL: `AUTHORIZER_URL`,
|
authorizerURL: `https://authorizer-demo.herokuapp.com`,
|
||||||
redirectURL: window.location.origin,
|
redirectURL: window.location.origin,
|
||||||
|
clientID: 'YOUR_CLIENT_ID', // obtain your client id from authorizer dashboard
|
||||||
});
|
});
|
||||||
|
|
||||||
// use the button selector as per your application
|
// use the button selector as per your application
|
||||||
|
@ -175,15 +179,19 @@ This example demonstrates how you can use [`@authorizerdev/authorizer-js`](/auth
|
||||||
});
|
});
|
||||||
|
|
||||||
async function onLoad() {
|
async function onLoad() {
|
||||||
const res = await authorizerRef.browserLogin();
|
const res = await authorizerRef.authorize({
|
||||||
if (res && res.user) {
|
response_type: 'code',
|
||||||
|
use_refresh_token: false,
|
||||||
|
});
|
||||||
|
if (res && res.access_token) {
|
||||||
// you can use user information here, eg:
|
// you can use user information here, eg:
|
||||||
/**
|
const user = await authorizerRef.getProfile({
|
||||||
|
Authorization: `Bearer ${res.access_token}`,
|
||||||
|
});
|
||||||
const userSection = document.getElementById('user');
|
const userSection = document.getElementById('user');
|
||||||
const logoutSection = document.getElementById('logout-section');
|
const logoutSection = document.getElementById('logout-section');
|
||||||
logoutSection.classList.toggle('hide');
|
logoutSection.classList.toggle('hide');
|
||||||
userSection.innerHTML = `Welcome, ${res.user.email}`;
|
userSection.innerHTML = `Welcome, ${user.email}`;
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onLoad();
|
onLoad();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user