MOBILE-ID · TRUSTED LTANS
Xác thực và bảo mật API
Tích hợp backend bằng HTTPS và OAuth2; áp dụng mTLS hoặc ký request theo đúng profile và ranh giới kết nối.
Một cấu hình tiêu chuẩn dễ bắt đầu
Ứng dụng backend dùng HTTPS và OAuth2 Client Credentials theo cấu hình được cấp. Client xác thực tại authorization server, nhận token có audience/scope phù hợp rồi gọi API qua WSO2. Đây là profile thiết kế tiêu chuẩn; Mobile-ID xác nhận cấu hình thực trước tích hợp.
| Bước | Thực hiện | Kết quả |
|---|---|---|
| 1 · Đăng ký | Chốt ứng dụng, tổ chức, nhu cầu hồ sơ và scope. | clientId, audience và quyền tối thiểu được cấp. |
| 2 · Nhận token | POST tới tokenEndpoint được cấp với grant_type=client_credentials. | Token ngắn hạn; secret chỉ ở backend. |
| 3 · Gọi REST | Bearer token, correlationId và idempotency key cho lệnh có thay đổi. | Biên nhận/Job; không tự kết luận thao tác hoàn tất. |
| 4 · Đối soát | Theo Job và resource, giữ mapping giao dịch gốc. | Báo cáo hoặc tài nguyên đúng phiên bản. |
Ai kiểm tra điều gì?
| Lớp | Trách nhiệm |
|---|---|
| Keycloak / IAM | Cấp token cho client/service account; quyền được duyệt, không cấp admin realm cho đối tác. |
| WSO2 Gateway | Kiểm tra token, chính sách API, quota và routing; JWKS/introspection theo cấu hình. |
| LTANS API Services | Kiểm tra tổ chức, hồ sơ, scope nghiệp vụ và thẩm quyền hành động. |
| Adapter / Core | Ánh xạ client/profile được phép; giữ yêu cầu mTLS hoặc ký request nội bộ nếu bắt buộc. |
Portal và ứng dụng máy là hai hành trình
Người dùng portal đăng nhập qua GoPaperless SSO/federation OIDC theo cấu hình; Authorization Code + PKCE áp dụng cho hành trình phù hợp. Client Credentials đại diện ứng dụng, không giả danh phiên của một người dùng. Chọn tổ chức và quyền đối tượng được kiểm tra riêng.
Hết hạn, thay khóa và lỗi
| Tình huống | Xử lý |
|---|---|
| Token hết hạn | Xin token mới, giữ key giao dịch và đối soát trước retry POST. |
| 401 / 403 | Kiểm tra issuer/audience/clock/key hoặc scope/tenant; token mới không tự cấp thêm quyền. |
| Hồ sơ mTLS | Chỉ kiểm tra client certificate khi ranh giới đó yêu cầu; TLS có thể thất bại trước HTTP. |
| Bí mật | Không đưa token/secret vào URL, log, frontend hoặc tệp demo. |