Casdoor is a UI-first centralized authentication / Single-Sign-On (SSO) platform based on OAuth 2.0 / OIDC.
Casdoor is the authentication server. It serves both the web UI and the login requests from the application users.
Global admin login:
Casbin-OA is one of our applications that use Casdoor as authentication.
Casdoor contains 2 parts:
|Backend||RESTful API backend for Casdoor||Golang + Beego + MySQL||https://github.com/casbin/casdoor|
Get code via
go get github.com/casbin/casdoor
git clone https://github.com/casbin/casdoor
Execute the following command
Run backend (in port 8000):
go run main.go
Run frontend (in the same machine's port 7001):
cd web ## npm npm install npm run start ## yarn yarn install yarn run start
build static pages:
cd web ## npm npm run build ## yarn yarn run build ## back to casdoor directory cd ..
build and run go code:
go build ./casdoor
Now, Casdoor is running on port 8000. You can access Casdoor pages directly in your browser, or you can setup a reverse proxy to hold your domain name, SSL, etc.
Setup database (MySQL):
Casdoor will store its users, nodes and topics informations in a MySQL database named:
casdoor, will create it if not existed. The DB connection string can be specified at: https://github.com/casbin/casdoor/blob/master/conf/app.conf
db = mysql dataSourceName = root:[email protected](localhost:3306)/ dbName = casdoor
Setup database (Postgres):
Since we must choose a database when opening Postgres with xorm, you should prepare a database manually before running Casdoor. Let's assume that you have already prepared a database called
casdoor, then you should specify
app.conf like this:
db = postgres dataSourceName = "user=postgres password=xxx sslmode=disable dbname=" dbName = casdoor
Please notice: You can add Postgres parameters in
dataSourceName, but please make sure that
dataSourceName ends with
dbname=. Or database adapter may crash when you launch Casdoor.
Casdoor uses XORM to connect to DB, so all DBs supported by XORM can also be used.
We added a Github icon in the upper right corner, linking to your Github repository address.
You could set
ShowGithubCorner to hidden it.
export const ShowGithubCorner = true export const GithubRepo = "https://github.com/casbin/casdoor" //your github repository