O24OpenAPI.Kit
1.0.0
dotnet add package O24OpenAPI.Kit --version 1.0.0
NuGet\Install-Package O24OpenAPI.Kit -Version 1.0.0
<PackageReference Include="O24OpenAPI.Kit" Version="1.0.0" />
<PackageVersion Include="O24OpenAPI.Kit" Version="1.0.0" />
<PackageReference Include="O24OpenAPI.Kit" />
paket add O24OpenAPI.Kit --version 1.0.0
#r "nuget: O24OpenAPI.Kit, 1.0.0"
#:package O24OpenAPI.Kit@1.0.0
#addin nuget:?package=O24OpenAPI.Kit&version=1.0.0
#tool nuget:?package=O24OpenAPI.Kit&version=1.0.0
O24OpenAPI.Kit
O24OpenAPI.Kit là thư viện tiện ích dùng chung cho các dự án thuộc hệ sinh thái O24OpenAPI.
🎯 Mục đích
Thư viện cung cấp các hàm hỗ trợ:
Tạo chữ ký (signature) và quản lý xác thực.
- Phía đối tác: sử dụng
O24OpenAPI.Kitđể sinh chữ ký từ payload trước khi gửi request sang hệ thống O24OpenAPI. - Phía O24OpenAPI: thực hiện verify chữ ký để đảm bảo tính toàn vẹn và xác thực dữ liệu.
- Phía đối tác: sử dụng
KeyVault utilities: quản lý khóa, connection string, secret.
Models & Utils: các models dùng chung và hàm tiện ích hỗ trợ chuẩn hoá dữ liệu.
📦 Cài đặt
1. Thêm source từ NuGet feed nội bộ GitLab (Project ID = 327)
dotnet nuget add source "https://delivery-gitlab.jits.com.vn/api/v4/projects/327/packages/nuget/index.json" \
--name GitLabO24Framework \
--username gitlab-ci-token \
--password <YOUR_PERSONAL_ACCESS_TOKEN> \
--store-password-in-clear-text
2. Cài đặt package
dotnet add package O24OpenAPI.Kit --version 1.0.0
🚀 Ví dụ sử dụng
1. Sinh chữ ký từ payload
using O24OpenAPI.Kit.Signature;
var payload = "{ \"amount\": 1000000, \"currency\": \"VND\" }";
var privateKey = "..."; // private key do O24OpenAPI cung cấp
var (signature, timestamp, nonce) = SignatureExtension.GetSignature(payload, privateKey);
Console.WriteLine($"Signature : {signature}");
Console.WriteLine($"Timestamp : {timestamp}");
Console.WriteLine($"Nonce : {nonce}");
🔑 Khi gửi request sang O24OpenAPI, đối tác cần đính kèm:
SignatureTimestampNonce
👉 Hệ thống O24OpenAPI sẽ verify các giá trị này để đảm bảo request chưa bị chỉnh sửa.
2. Lấy secret từ KeyVault
using O24OpenAPI.Kit.Keyvault;
var secret = KeyvaultExtension.GetSecretKey("DB_CONNECTION");
Console.WriteLine(secret);
🔄 Quy trình gen & verify signature
sequenceDiagram
participant Partner as Đối tác (Client)
participant Kit as O24OpenAPI.Kit
participant API as O24OpenAPI Server
Partner->>Kit: Gọi GetSignature(payload, privateKey)
Kit-->>Partner: signature, timestamp, nonce
Partner->>API: Gửi payload + signature + timestamp + nonce
API->>API: Verify signature với publicKey
API-->>Partner: Trả về kết quả (OK / lỗi xác thực)
⚙️ Yêu cầu hệ thống
- .NET 8.0 trở lên
- Các dependency chính:
Newtonsoft.JsonO24OpenAPI.KeyVault
📌 Đóng góp & liên hệ
Mọi issue / yêu cầu hỗ trợ vui lòng trao đổi tại GitLab nội bộ:
👉 delivery-gitlab.jits.com.vn/delivery/jits/O24OpenAPI.Kit
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Newtonsoft.Json (>= 13.0.3)
- O24OpenAPI.KeyVault (>= 1.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 246 | 8/30/2025 |