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, sau đó thay mặt họ gọi API Altium 365 — ứng dụng không bao giờ xử lý mật khẩu Altium của người dùng.
Các ứng dụng đăng nhập bằng authorization-code flow và PKCE. Các ứng dụng khách công khai (ứng dụng máy tính, tại chỗ, gốc, đơn trang) sử dụng PKCE mà không cần bí mật ứng dụng khách; các ứng dụng khách bảo mật (backend web/máy chủ) bổ sung bí mật ứng dụng khách. Các luồng từng bước, kèm mọi yêu cầu và phản hồi, được cung cấp trên GitHub — trang này giải thích các khái niệm để bạn biết nên chọn cách nào.
Thuật ngữ về token
Dịch vụ Altium 365 thương mại hoạt động tại bốn khu vực địa lý:
Thuật ngữ |
Định nghĩa |
Global access token |
Token cấp người dùng mà bạn nhận được sau khi đăng nhập với các phạm vi |
Workspace access token |
Token được giới hạn trong một không gian làm việc thông qua phạm vi |
| Refresh token | Được cấp khi bạn yêu cầu phạm vi |
Để tìm hiểu đầy đủ về cấu trúc của token và các thông tin xác nhận của nó, xem Token và Phạm vi OAuth.
Quy trình đăng nhập
Quy trình giống nhau đối với ứng dụng web và ứng dụng máy tính/tại chỗ — chỉ khác ở how bạn nhận mã ủy quyền (chuyển hướng do ứng dụng của bạn lưu trữ, hoặc mô hình ActionWait do Altium lưu trữ dành cho các ứng dụng không thể lưu trữ chuyển hướng). Trong mọi trường hợp:
-
Sign in on Commercial Cloud (
https://auth.altium.com) để lấy global access token. Sử dụng token này cho các tài nguyên toàn cục, chẳng hạn như liệt kê các không gian làm việc 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 điểm cuối tương ứng với không gian làm việc (Thương mại hoặc GovCloud — xem bên dưới).
-
Call the Altium 365 API bằng token không gian làm việc, làm mới token tại điểm cuối đã cấp token đó.
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 và một token không gian làm việc cho mỗi không gian làm việc đang sử dụng. Mỗi token được làm mới tại điểm cuối đã cấp nó.
Đám mây thương mại và GovCloud
Altium 365 vận hành hai môi trường được tách biệt hoàn toàn:
-
Commercial Cloud (
auth.altium.com) — môi trường mặc định. -
GovCloud (
auth.365-gov.altium.com) — môi trường biệt lập dành cho các không gian làm việc chịu sự quản lý của ITAR/các quy định.
Bên cấp token (iss) cho biết môi trường nào đã tạo token đó, và token của hai môi trường không bao giờ có thể dùng thay thế nhau: token Gov bị các dịch vụ Thương mại từ chối, còn token Thương mại bị GovCloud từ chối. GovCloud thực thi điều này bằng two-token model — token không gian làm việc Gov mang dấu đánh dấu secure ràng buộc nó với GovCloud. Bạn đăng nhập một lần trên Đám mây thương mại, sau đó trao đổi token toàn cục để lấy từng token không gian làm việc trên môi trường sở hữu không gian làm việc đó.
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ể lưu trữ điểm cuối chuyển hướng HTTPS | Luồng chuyển hướng dùng mã ủy quyền |
Ứng dụng web & máy chủ |
Desktop, on-prem, or native ứng dụng không thể lưu trữ chuyển hướng |
Đăng nhập qua trình duyệt bằng mô hình ActionWait do Altium lưu trữ |
Ứng dụng máy tính & tại chỗ |
Thư viện máy khách
Bạn không cần tự triển khai luồng này. Altium duy trì các thư viện mã nguồn mở được xây dựng theo một đặc tả không phụ thuộc ngôn ngữ và được xác thực bằng bộ kiểm thử 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 |
| Python | Thư viện Python |