Skip to content

v0.34.0 — TOTP, AppRole SDK, управление арендами

Choose a tag to compare

@NAGenaev NAGenaev released this 12 Jun 19:46
· 78 commits to main since this release

TOTP, AppRole SDK, управление арендами

Движок TOTP (RFC 6238)

Программный аутентификатор, совместимый с Google Authenticator, Authy и любым приложением, поддерживающим TOTP.

tuckcli totp create-key my-app --account=user@example.com --issuer=MyApp
# → QR-код и URI otpauth://
tuckcli totp verify my-app --code=123456

AppRole SDK (pkg/client)

Клиентские методы для управления AppRole без использования CLI:

c, _ := client.New(client.Config{Addr: "http://127.0.0.1:8200", Token: "..."})
_ = c.AppRole().CreateOrUpdate("backend", client.AppRoleRequest{
    Policies:       []string{"app-writer"},
    TokenTTL:       time.Hour,
    SecretIDNumUses: 10,
})
roleID, _  := c.AppRole().GetRoleID("backend")
secretID, _ := c.AppRole().GenerateSecretID("backend")
token, _    := c.Auth().LoginAppRole(roleID, secretID)

Управление арендами

tuckcli lease list dynamic/db/creds/    # все активные аренды
tuckcli lease renew  <lease-id>         # продлить время жизни
tuckcli lease revoke <lease-id>         # немедленный отзыв

Состав изменений

  • pkg/client/totp.go: TOTPClientCreateKey, GetKey, DeleteKey, Validate, ListKeys
  • pkg/client/approle.go: AppRoleClientCreateOrUpdate, Read, Delete, GetRoleID, GenerateSecretID, List
  • pkg/client/leases.go: LeaseClientList, Renew, Revoke
  • Сервер: эндпоинты TOTP — /v1/totp/keys/:name, /v1/totp/keys/:name/validate
  • Все тесты TOTP проходят (8/8)