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.

Full flows, code, and libraries → Altium 365 Auth on GitHub. Dự án GitHub là nguồn thông tin chính thức: đặc tả trung lập ngôn ngữ, bộ kiểm tra tính tuân thủ dùng chung, và các thư viện client đúng chuẩn cho TypeScript và .NET.

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 openid profile scope. Dùng nó để khám phá những workspace mà người dùng có thể truy cập.

Workspace access token

Một token được giới hạn trong một workspace thông qua scope a365:workspace:{workspaceId} . Dùng nó cho các lệnh gọi API Altium 365 đối với workspace đó.

Refresh token

Được cấp khi bạn yêu cầu scope offline_access . Dùng nó để lấy access token mới — toàn cục hoặc theo workspace — mà không cần yêu cầu người dùng đăng nhập lại.

Để 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:

  1. 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.

  2. Discover the user's workspaces bằng token toàn cục.

  3. 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).

  4. 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ó.

Skip the discovery step. Khi bạn đã biết người dùng nên vào một workspace cụ thể, tham số selectWorkspace tùy chọn sẽ nhắc người dùng chọn workspace đó during đăng nhập, và quá trình trao đổi mã sẽ trả về trực tiếp một token giới hạn theo workspace. Xem chế độ Login into workspace.

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

Tìm hiểu thêm

AI-LocalizedBản địa hóa bằng AI
Nếu bạn phát hiện vấn đề, hãy chọn văn bản/hình ảnh và nhấnCtrl + Enterđể gửi phản hồi cho chúng tôi.
Nội dung