Auth Endpoints(工牌登入)
Auth.js v5 在 /api/auth/ 下暴露下列 route handler。瑞成 PMS 以工牌編號 + 密碼(Credentials provider)登入,不使用 OAuth。
GET /api/auth/session
回傳目前 session,未登入則回傳 null。
Response(已登入):
json
{
"user": {
"id": "uuid-v4",
"badge": "R00001",
"name": "張庭瑜",
"role": "admin"
},
"expires": "2026-07-14T12:00:00.000Z"
}Response(未登入):
json
nullGET/api/auth/session
POST /api/auth/signin
以工牌編號與密碼登入。
Request body:
json
{
"badge": "R90001",
"password": "Admin123!",
"redirect": false
}Response(成功):
設定 session cookie 並導向(若 redirect: false 則回傳 JSON)。
POST/api/auth/signin
Base URL (your deployed Next.js app)
Authorization Header (optional)
Request Body (JSON)
POST /api/auth/signout
登出目前使用者,清除 session cookie。
三層角色(RBAC)
| 角色 | 代表 | 權限 |
|---|---|---|
admin(管理員) | 張庭瑜 R00001 | 全部案件、進度覆寫、節點增刪、樣板/分類/帳號管理、稽核日誌 |
operator(行政) | 林靜怡 R00012 | 代建檔、編輯案件/業主/帳號、刪除類動作(入日誌);不可填進度 % |
staff(一般) | 陳柏宇 R00007 | 僅見被指派案件、更新節點/自填進度;CRM 唯讀;無系統設定 |
完整 10 旗標權限矩陣見
lib/rc-permissions.ts(RC_PERM_MATRIX)。守衛從 DB re-read live role,降權立即生效。