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 trang đơn) dùng PKCE mà không có client secret; client bảo mật (backend web/server) bổ sung client secret. Các luồng từng bước, với mọi request và response, có 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 tham chiếu chính thức: đặc tả trung lập ngôn ngữ, bộ kiểm thử tương thích dùng chung và các thư viện client đúng chuẩn cho TypeScript và .NET.

Thuật ngữ về token

Giải pháp 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 token này để xác định những workspace mà người dùng có thể truy cập.

Workspace access token

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

Refresh token

Được cấp khi bạn yêu cầu offline_access scope. Dùng token này để lấy access token mới — ở mức toàn cục hoặc 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 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ữ cho các ứng dụng không thể tự lưu trữ điểm chuyển hướng). Trong mọi trường hợp:

  1. Sign in on Commercial Cloud (https://auth.altium.com) để lấy global access token. Dùng token này 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 với token toàn cục.

  3. Exchange the global token for a workspace access token, tại endpoint tương ứng với workspace đó (Commercial hoặc Gov Cloud — xem bên dưới).

  4. Call the Altium 365 API với workspace token, làm mới token tại chính 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 workspace token cho mỗi workspace đang sử 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 một workspace during khi đăng nhập, và quá trình trao đổi mã sẽ trả về trực tiếp một token theo phạm vi workspace. Xem chế độ Login into workspace.

Commercial Cloud và Gov Cloud

Altium 365 vận hành trên hai môi trường tách biệt hoàn toàn:

  • Commercial Cloud (auth.altium.com) — môi trường mặc định.
  • Gov Cloud (auth.365-gov.altium.com) — môi trường biệt lập dành cho các workspace ITAR/được quản lý theo quy định.

Issuer của token (iss) cho biết token đó được phát hành từ môi trường nào, và hai môi trường này không bao giờ có thể dùng thay thế cho nhau: token Gov sẽ bị các dịch vụ Commercial từ chối, và token Commercial sẽ bị Gov Cloud từ chối. Gov Cloud thực thi điều này bằng two-token model — token workspace của Gov mang một dấu hiệu secure để ràng buộc nó với Gov Cloud. 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 workspace token trên môi trường đang sở hữu workspace tương ứng.

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ữ một endpoint chuyển hướng HTTPS

Luồng chuyển hướng authorization code

Ứng dụng web & server

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 theo mô hình ActionWait do Altium lưu trữ

Ứng dụng desktop & on-prem

Thư viện client

Bạn không phải 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 thử tương thích dùng chung:

Ngôn ngữ

Tài liệu tham chiếu

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