Xác thực
Altium Identity là nhà cung cấp danh tính OAuth 2.0 và OpenID Connect (OIDC) của Altium. Ứng dụng của bạn xác thực người dùng thông qua Altium Identity rồi gọi API Altium 365 thay mặt họ — ứng dụng không bao giờ xử lý mật khẩu Altium của người dùng.
Ứng dụng đăng nhập bằng authorization-code flow và PKCE. Client công khai (desktop, on-prem, native, ứng dụng một trang) dùng PKCE mà không cần client secret; client bảo mật (backend web/server) bổ sung client secret. Các luồng từng bước, kèm mọi request và response, được lưu trên GitHub — trang này giải thích các khái niệm để bạn biết nên chọn hướng nào.
Từ vựng về token
Gói Altium 365 thương mại hoạt động trên bốn khu vực địa lý:
Thuật ngữ |
Nó là gì |
Global access token |
Một token cấp người dùng mà bạn nhận được sau khi đăng nhập với các |
Workspace access token |
Một token được giới hạn trong một workspace thông qua scope |
| Refresh token | Được cấp khi bạn yêu cầu scope |
Để xem đầy đủ cấu trúc của token và các claim của nó, hãy xem Tokens và OAuth Scopes.
Hành trình đăng nhập
Quy trình này giống nhau cho ứng dụng web và ứng dụng desktop/on-prem — chỉ khác ở cách how bạn lấy authorization code (một redirect do ứng dụng của bạn host, hoặc mô hình ActionWait do Altium host dành cho các ứng dụng không thể host redirect). Trong mọi trường hợp:
-
Sign in on Commercial Cloud (
https://auth.altium.com) để lấy một global access token. Dùng nó cho các tài nguyên toàn cục như liệt kê các workspace của người dùng. -
Discover the user's workspaces bằng token toàn cục.
-
Exchange the global token for a workspace access token, tại endpoint khớp với workspace đó (Commercial hoặc GovCloud — xem bên dưới).
-
Call the Altium 365 API bằng token workspace, làm mới token đó tại endpoint đã cấp nó.
sequenceDiagram
participant App
participant Identity as Altium Identity
participant API as Altium 365 API
App->>Identity: 1. Sign in on auth.altium.com (openid profile) + PKCE
Identity-->>App: global access token
App->>API: 2. Discover workspaces (global token)
API-->>App: workspaces (+ location)
App->>Identity: 3. Exchange for a workspace token
Identity-->>App: workspace access token (+ refresh token)
App->>API: 4. API calls (workspace access token)
Một ứng dụng thường giữ nhiều token cùng lúc — một token toàn cục cộng với một token workspace cho mỗi workspace đang dùng. Mỗi token được làm mới tại endpoint cấp phát riêng của nó.
Commercial Cloud và GovCloud
Altium 365 chạy trên hai môi trường tách biệt nghiêm ngặt:
-
Commercial Cloud (
auth.altium.com) — môi trường mặc định. -
GovCloud (
auth.365-gov.altium.com) — môi trường tách biệt dành cho các workspace ITAR/được quản lý theo quy định.
Issuer của token (iss) xác định môi trường đã cấp token đó, và hai môi trường này không bao giờ dùng thay thế cho nhau: token Gov sẽ bị các dịch vụ Commercial từ chối, và token Commercial sẽ bị GovCloud từ chối. GovCloud thực thi điều này bằng một two-token model — token workspace Gov mang dấu secure để ràng buộc nó với GovCloud. Bạn đăng nhập một lần trên Commercial Cloud, sau đó trao đổi token toàn cục của mình để lấy từng token workspace trên đúng môi trường sở hữu workspace đó.
Tôi cần luồng nào?
Ứng dụng của bạn |
Luồng |
Hướng dẫn |
| Web or server ứng dụng có thể host endpoint redirect HTTPS | Luồng redirect authorization code |
Ứng dụng web & server |
Desktop, on-prem, or native ứng dụng không thể host redirect |
Đăng nhập qua trình duyệt bằng mô hình ActionWait do Altium host |
Ứng dụng desktop & on-prem |
Thư viện client
Bạn không cần tự triển khai luồng theo cách thủ công. Altium duy trì các thư viện mã nguồn mở được xây dựng theo một đặc tả trung lập ngôn ngữ và được xác thực bằng bộ kiểm tra tính tuân thủ dùng chung:
Ngôn ngữ |
Tài liệu tham khảo |
| TypeScript | Thư viện TypeScript |
| .NET | Thư viện .NET |