mirror of
https://github.com/casdoor/casdoor.git
synced 2025-05-24 08:20:31 +08:00
132 lines
3.6 KiB
Markdown
132 lines
3.6 KiB
Markdown
Casdoor
|
|
====
|
|
|
|
[](https://goreportcard.com/report/github.com/casbin/casdoor) <img src="https://img.shields.io/github/license/casbin/casdoor?style=flat-square" alt="license"> [](https://github.com/casbin/casdoor/issues) [](https://github.com/casbin/casdoor/stargazers) [](https://github.com/casbin/casdoor/network)
|
|
|
|
Casdoor is a UI-first centralized authentication / Single-Sign-On (SSO) platform based on OAuth 2.0 / OIDC.
|
|
|
|
## Online demo
|
|
|
|
Deployed site: https://door.casbin.com/
|
|
|
|
## Quick Start
|
|
|
|
Run your own casdoor program in a few minutes:smiley:
|
|
|
|
### Download
|
|
|
|
There are two methods, get code via go subcommand `get`:
|
|
|
|
```shell
|
|
go get github.com/casbin/casdoor
|
|
```
|
|
|
|
or `git`:
|
|
|
|
```bash
|
|
git clone https://github.com/casbin/casdoor
|
|
```
|
|
|
|
Finally, change directory:
|
|
|
|
```bash
|
|
cd casdoor/
|
|
```
|
|
|
|
We provide two start up methods for all kinds of users.
|
|
|
|
### Manual
|
|
|
|
#### Simple configuration
|
|
|
|
Edit `conf/app.conf`, modify `dataSourceName` to correct database info, which follows this format:
|
|
|
|
```bash
|
|
username:password@tcp(database_ip:database_port)/
|
|
```
|
|
|
|
#### Run
|
|
|
|
Casdoor provides two run modes, the difference is binary size and user prompt.
|
|
|
|
##### Dev Mode
|
|
|
|
Edit `conf/app.conf`, set `runmode=dev`. Firstly build front-end files:
|
|
|
|
```bash
|
|
cd web/ && npm install && npm run start
|
|
```
|
|
|
|
Then build back-end binary file, change directory to root(Relative to casdoor):
|
|
|
|
```bash
|
|
go run main.go
|
|
```
|
|
|
|
That's it! Try to visit http://127.0.0.1:7001/. :small_airplane:
|
|
|
|
##### Prod Mode
|
|
|
|
Edit `conf/app.conf`, set `runmode=prod`. Firstly build front-end files:
|
|
|
|
```bash
|
|
cd web/ && npm install && npm run build
|
|
```
|
|
|
|
Then build back-end binary file, change directory to root(Relative to casdoor):
|
|
|
|
```bash
|
|
go build main.go && sudo ./main
|
|
```
|
|
|
|
> Notice, you should visit back-end port, default 8000. Now try to visit http://127.0.0.1:8000/
|
|
|
|
### Docker
|
|
|
|
This method requires [docker](https://docs.docker.com/get-docker/) and [docker-compose](https://docs.docker.com/compose/install/) to be installed first.
|
|
|
|
#### Simple configuration
|
|
|
|
Edit `conf/app.conf`, modify `dataSourceName` to the fixed content:
|
|
|
|
```bash
|
|
dataSourceName = root:123@tcp(db:3306)/
|
|
```
|
|
|
|
> If you need to modify `conf/app.conf`, you need to re-run `docker-compose up`.
|
|
|
|
#### Run
|
|
|
|
Just execute:
|
|
|
|
```bash
|
|
docker-compose up
|
|
```
|
|
|
|
That's
|
|
|
|
## Detailed documentation
|
|
|
|
We also provide a complete [document](https://casdoor.org/) as a reference.
|
|
|
|
## Other examples
|
|
|
|
These all use casdoor as a centralized authentication platform.
|
|
|
|
- [Casnode](https://github.com/casbin/casnode): Next-generation forum software based on React + Golang.
|
|
- [Casbin-OA](https://github.com/casbin/casbin-oa): A full-featured OA(Office Assistant) system.
|
|
- ......
|
|
|
|
## Contribute
|
|
|
|
For casdoor, if you have any questions, you can give Issues, and you can also directly Pull Requests(but we recommend give issues first to communicate with the community).
|
|
|
|
In addition to contributing codes to casdoor, uou can also contribute to the [internationalization of casdoor](https://crowdin.com/project/casdoor-web) by translating for casdoor in the language you are good at.
|
|
|
|
Both are welcome! :kissing_smiling_eyes:
|
|
|
|
## License
|
|
|
|
[Apache-2.0](https://github.com/casbin/casdoor/blob/master/LICENSE)
|
|
|