Configuration

ค่า configuration หลักของระบบกำหนดไว้ใน appsettings.json ภายใต้ section ต่างๆ ดังนี้

App

CorsPolicy

กำหนด origin ที่อนุญาตให้เรียก API ได้ รองรับ wildcard subdomain

{
  "App": {
    "CorsPolicy": [
      "http://localhost:4200",
      "https://localhost:4200"
    ]
  }
}

OAuth

กำหนดค่า OAuth 2.0 สำหรับการออก token และยืนยันตัวตน ดูรายละเอียดเพิ่มเติมได้ที่ Authentication with OAuth 2.0

{
  "App": {
    "OAuth": {
      "AccessTokenExpires": 300,
      "RefreshTokenExpires": 604800,
      "AuthorizationCodeExpires": 300,
      "Issuer": "https://localhost:5001",
      "SecretKey": "your-secret-key",
      "MultiRefreshToken": true,
      "VerifyCodeExpires": 900
    }
  }
}
FieldDescription
IssuerURL ของ Authorization Server
SecretKeykey สำหรับ sign JWT token
AccessTokenExpiresอายุ Access Token (วินาที)
RefreshTokenExpiresอายุ Refresh Token (วินาที)
AuthorizationCodeExpiresอายุ Authorization Code (วินาที)
VerifyCodeExpiresอายุ Verify Code (วินาที)
MultiRefreshTokenอนุญาตให้มี Refresh Token หลายตัวพร้อมกันได้

UM (User Management)

{
  "App": {
    "UM": {
      "ForgetPasswordBaseUrl": "http://localhost/WebApp/resetpassword.aspx",
      "ForgetPasswordUserIdField": "userId",
      "ForgetPasswordTokenField": "token",
      "UseDefaultConfigFromDatabase": true,
      "DefaultConfigRoleId": 3
    }
  }
}
FieldDescription
ForgetPasswordBaseUrlURL ของหน้า reset password สำหรับส่งในอีเมล forget password
ForgetPasswordUserIdFieldชื่อ query parameter ที่ใช้ระบุ user ID ใน reset password URL
ForgetPasswordTokenFieldชื่อ query parameter ที่ใช้ระบุ token ใน reset password URL
UseDefaultConfigFromDatabaseเปิดใช้งานเพื่อให้ระบบดึงค่า config เริ่มต้นจากฐานข้อมูล แทนการกำหนดค่าไว้ใน code โดยตรง
DefaultConfigRoleIdRole ID ที่ใช้เป็นค่าเริ่มต้นสำหรับ config จากฐานข้อมูล

FileServer

กำหนดค่าการเชื่อมต่อ file storage ดูรายละเอียดเพิ่มเติมได้ที่ Feature: Connect to Storage

{
  "App": {
    "FileServer": {
      "DefaultFileSource": "Default",
      "FileSourceParameter": "APP_FILE_SOURCE",
      "FilePathParameter": "APP_FILE_PATH",
      "FileSource": {
        "Default": {
          "RemotePath": "FilesLocalStorage"
        },
        "NetworkDriveEx": {
          "RemotePath": "\\\\mynetworkdrive\\d$\\Shared Files",
          "Username": "admin",
          "Password": "password",
          "Domain": ""
        }
      }
    }
  }
}

FileServer

FieldDescription
DefaultFileSourceชื่อ file source ที่ใช้เป็นค่าเริ่มต้นเมื่อไม่ระบุ file source ตอนเรียกใช้งาน
FileSourceParameterกำหนดชื่อ key ที่ใช้ระบุ file source ตอนเรียก CreateDirectoryAccess() ถ้ากำหนดเป็น APP_FILE_SOURCE ก็ต้องส่ง key ชื่อนี้เข้าไปใน parameters
FilePathParameterกำหนดชื่อ key ที่ใช้ระบุ path ตอนเรียก CreateDirectoryAccess() ถ้ากำหนดเป็น APP_FILE_PATH ก็ต้องส่ง key ชื่อนี้เข้าไปใน parameters
FileSourceรายการ file sources ทั้งหมด โดยใช้ชื่อเป็น key เช่น DefaultNetworkDriveEx

FileSource

FieldRequiredDescription
RemotePathRequiredPath ของ file source ถ้าเป็น local folder ใช้ชื่อ folder ถ้าเป็น network drive ใช้ UNC path เช่น \\server\share
UsernameOptionalชื่อผู้ใช้สำหรับ authentication ใช้เฉพาะ network drive
PasswordOptionalรหัสผ่านสำหรับ authentication ใช้เฉพาะ network drive
DomainOptionalDomain สำหรับ authentication ใช้เฉพาะ network drive ที่ต้องการ domain