From 40b3184937a48ba7878994e3a15976ed7f8a4777 Mon Sep 17 00:00:00 2001 From: Sam <315859133@qq.com> Date: Mon, 2 Feb 2026 09:55:23 +0800 Subject: [PATCH] docs(auth): add API documentation --- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..dadefbc --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +# Fengling Auth Service + +Authentication and authorization service using OpenIddict. + +## Features + +- JWT token issuance +- OAuth2/OIDC support +- Multi-tenant support (TenantId in JWT claims) +- Role-based access control (RBAC) +- Health check endpoint + +## API Endpoints + +### Get Token +``` +POST /connect/token +Content-Type: application/x-www-form-urlencoded + +grant_type=password +username={username} +password={password} +scope=api offline_access +``` + +### Health Check +``` +GET /health +``` + +## Default Users + +- **Admin**: username=admin, password=Admin@123, role=Admin +- **Test User**: username=testuser, password=Test@123, role=User + +## Running Locally + +```bash +dotnet run +``` + +Service runs on port 5000. + +## Docker + +```bash +docker build -t fengling-auth:latest . +docker run -p 5000:80 fengling-auth:latest +``` + +## Environment Variables + +- `ConnectionStrings__DefaultConnection`: PostgreSQL connection string +- `OpenIddict__Issuer`: Token issuer URL +- `OpenIddict__Audience`: Token audience + +## Database + +- PostgreSQL +- Uses ASP.NET Core Identity for user/role management +- Tenant isolation via `TenantId` column