Ця сторінка ще не перекладена українською. Показано англійську версію. Переглянути англійською

Команди автентифікації

RAPS підтримує як 2-legged (client credentials), так і 3-legged (authorization code) потоки OAuth.

RAPS authentication demo

Огляд команд

КомандаОпис
raps auth testПеревірити облікові дані 2-legged OAuth
raps auth loginУвійти через 3-legged OAuth
raps auth logoutОчистити збережені токени
raps auth statusПоказати статус автентифікації
raps auth whoamiПоказати профіль користувача
raps auth inspectПереглянути деталі токена (області дії, термін дії)

raps auth test

Перевірка автентифікації 2-legged OAuth за допомогою Client ID та Client Secret.

$ raps auth test
✓ Authentication successful!
  Token expires in: 3599 seconds

Вимоги:

  • Змінна середовища APS_CLIENT_ID
  • Змінна середовища APS_CLIENT_SECRET

raps auth login

Вхід через 3-legged OAuth. Підтримує кілька методів.

raps auth login [--default] [--preset PRESET] [--device] [--token <token>]

Опції:

  • -d, --default: Використати типові області доступу без запиту
  • -p, --preset <PRESET>: Використати набір областей доступу (Нове в v4.6)
  • --device: Використати потік device code (для серверних/безголових середовищ)
  • --token <token>: Надати токен доступу безпосередньо (для CI/CD)

Доступні набори (presets):

НабірОбласті доступуЗастосування
allУсі 16 областейПовний доступ для розробки
viewerdata:read, data:search, bucket:read, account:read, user:read, viewables:readДашборди та звіти (тільки читання)
editordata:read/write/create/search, bucket:read/create/update, account:read, user:read, viewables:readЩоденна робота з проєктами
storagedata:read/write/create, bucket:create/read/update/deleteЗавантаження файлів та управління OSS
automationcode:all, data:read/write/create, bucket:read/createРобочі процеси Design Automation
adminaccount:read/write, user:read/write, data:readАдміністрування облікових записів

Вхід через браузер (за замовчуванням):

$ raps auth login
Opening browser for authentication...
Select scopes:
  [x] data:read
  [x] data:write
  [x] data:create
  [x] account:read
  [x] user:read
  [x] viewables:read

✓ Login successful!
  User: john.doe@example.com

Потік device code (безголовий режим):

$ raps auth login --device
Device Code Authentication
──────────────────────────────────────────────────
  User Code: ABC-123-DEF
  Verification URL: https://developer.api.autodesk.com/authentication/v2/device

Please visit the URL above and enter the user code.
Waiting for authorization...
✓ Authorization successful!

Вхід за токеном (CI/CD):

$ raps auth login --token "eyJhbGc..." --expires-in 3600
✓ Token validated for user: user@example.com

raps auth status

Відображення поточного статусу автентифікації.

$ raps auth status
Authentication Status
────────────────────────────────────────
  2-legged (Client Credentials): ✓ Available
  3-legged (User Login): ✓ Logged in
    Token: abcd...wxyz
    Expires in: 1h 30m

raps auth inspect

Перегляд поточного токена доступу: області дії, термін дії та метадані.

$ raps auth inspect
Token Information:
────────────────────────────────────────────────────────────
  Valid: ✓ Yes
  Expires At: 2024-01-15 15:30:00 UTC
  Expires In: 45 minutes

  Scopes:
    • data:read
    • data:write
    • data:create
────────────────────────────────────────────────────────────

З попередженням про закінчення терміну:

$ raps auth inspect --warn-expiry 3600
⚠ WARNING: Token expires in less than 1 hour!

Типи автентифікації

2-Legged OAuth (Client Credentials)

Використовується для серверних операцій без контексту користувача.

Застосовується для:

  • Завантаження файлів до OSS
  • Створення бакетів
  • Запуску трансляцій
  • Управління вебхуками
  • Design Automation

3-Legged OAuth (Authorization Code)

Використовується для операцій, що потребують контексту користувача.

Застосовується для:

  • Доступу до хабів та проєктів BIM 360/ACC
  • Перегляду папок та елементів
  • Управління проблемами (issues)
  • Даних, специфічних для користувача

Управління токенами (v3.7.0+)

RAPS автоматично:

  • Зберігає токени безпечно через системне сховище ключів (за замовчуванням) або файлове сховище
  • Оновлює токени при закінченні терміну дії
  • Використовує відповідний тип токена для кожної операції

Безпечне зберігання токенів (за замовчуванням):

  • Windows: Windows Credential Manager
  • macOS: macOS Keychain
  • Linux: Secret Service (gnome-keyring, kwallet)

Резервне файлове сховище:

  • Windows: %APPDATA%\raps\tokens.json
  • macOS: ~/Library/Application Support/raps/tokens.json
  • Linux: ~/.local/share/raps/tokens.json

🔐 Безпека: Сховище ключів шифрує токени. Файлове сховище зберігає токени у відкритому вигляді і повинно використовуватись лише у захищених середовищах.

Вирішення проблем

Помилка “Authentication failed”

  1. Переконайтеся, що APS_CLIENT_ID та APS_CLIENT_SECRET встановлені правильно
  2. Перевірте, що ваш застосунок APS активний на Developer Portal
  3. Переконайтеся, що облікові дані не були змінені

Помилка “Callback URL mismatch”

Переконайтеся, що APS_CALLBACK_URL відповідає конфігурації вашого застосунку APS.

Помилка “Token expired”

Спробуйте вийти та увійти знову:

raps auth logout && raps auth login