---
referenceVersion: 2
---

# Подписи и токены

Начальная операция `crypto.jwt_sign` подписывает JWT.

## Параметры

| Параметр | Значение | По умолчанию |
| --- | --- | --- |
| `operation` | `jwt_sign` | Обязательно |
| `claims` | Содержимое токена | Обязательно |
| `key` | Ключ через секрет | Обязательно |
| `algorithm` | `RS256` или `HS256` | `RS256` |
| `ttl_seconds` | Положительное время жизни в секундах | 3600 |

## Пример

```yaml [Фрагмент формата v2]
- id: auth
  block: crypto
  params:
    operation: jwt_sign
    claims:
      iss: "{inputs.service_account}"
      aud: "{inputs.token_url}"
    key: "{secret.SIGNING_KEY}"
    algorithm: RS256
    ttl_seconds: 3600
```

## Результат

`token`, `expires_in` — токен и время жизни в секундах. Например, `{auth.token}` передаётся в следующий HTTP-запрос.

## Поведение

`iat` и `exp` вычисляются из TTL; конфликтующие значения отклоняются. Остальные `claims` задаёт workflow. Обмен JWT на токен доступа выполняется отдельно через [http](/store/blocks/http#пример-google-api).

<span id="решения-по-параметрам"></span>

## Параметры операций

Используются `claims`, ссылку на ключ, явный алгоритм и TTL. Время жизни не ограничивается универсальным потолком 3600 секунд: допустимый максимум ограничивает политика установки, а ограничения конкретного API задаёт вызывающий workflow. Значение по умолчанию остаётся 3600; прежний v1 не меняется.

Автоматические `iat`/`exp` не должны молча перезаписывать входные claims: конфликт отклоняется. Подпись и проверка подписи — разные операции; последняя не добавляется скрыто в `jwt_sign`.

<span id="модули-и-поставка"></span>

## Плагины и установка

В составе блока: Хеширование SHA-256/512 и HMAC.

| Плагин | Возможности |
| --- | --- |
| `jwt` | Подпись JWT с RS256/HS256 |
| `signatures` | Асимметричные подписи сообщений |
| `passwords` | Специализированные хеши паролей |

Таблица параметров выше относится к JWT. У других операций собственные схемы. Служебное шифрование секретов платформы не требует workflow-блока crypto.
