Casbin Gateway contains 2 parts:
| Name | Description | Language | Source code |
|---|---|---|---|
| Frontend | Web frontend UI for Casbin Gateway | Javascript + React | https://github.com/apache/casbin-gateway/tree/master/web |
| Backend | RESTful API backend for Casbin Gateway | Golang + Beego + MySQL | https://github.com/apache/casbin-gateway |
Casbin Gateway uses Casdoor to manage members. So you need to create an organization and an application for Casbin Gateway in a Casdoor instance.
docker-compose.yml for quick local setupgo get github.com/casdoor/casdoor go get github.com/apache/casbin-gateway
or
git clone https://github.com/casdoor/casdoor git clone https://github.com/apache/casbin-gateway
Casbin Gateway will store its users, nodes and topics information in a MySQL database named: caswaf, will create it if not existed. The DB connection string can be specified at: https://github.com/apache/casbin-gateway/blob/master/conf/app.conf
dataSourceName = root:123@tcp(localhost:3306)/
Casbin Gateway uses XORM to connect to DB, so all DBs supported by XORM can also be used.
After creating an organization and an application for Casbin Gateway in a Casdoor, you need to update clientID, clientSecret, casdoorOrganization and casdoorApplication in app.conf.
Casbin Gateway uses Casdoor to manage members. If you want to log in with oauth, you should see casdoor oauth configuration.
Casbin Gateway uses Casdoor to upload files to cloud storage, send Emails and send SMSs. See Casdoor for more details.
For Casbin Gateway, if you have any questions, you can open Issues, or you can also directly start Pull Requests(but we recommend opening issues first to communicate with the community).