class

ActiveSupport::MessageVerifier

Inherits Reference < Object

Constructors

new(secret : String | Bytes, url_safe : Bool = false, digest : Symbol = :sha256, force_legacy_metadata_serializer : Bool = false)
Source

Instance methods

generate(value : MetadataPayload, purpose : String | Nil = nil, expires_in : Time::Span | Nil = nil, expires_at : Time | Nil = nil) : String

Подписывает значение. Без purpose/exp — формат как в AS 8.1.4 для голых сообщений: b64(json) + "--" + HEXdigest (turbo-оракул). С purpose/exp — data-конверт Rails 8.1 (url_safe=true для wire-совмес- тимости с signed_id блобов: base64url без padding).

Source
generate_marshaled(value : String, purpose : String | Nil = nil, expires_at : Time | Nil = nil) : String

Подписывает Marshal-строку в legacy-конверте метаданных — wire-формат SignedGlobalID (globalid 1.4 / Rails to_sgid с дефолтным Marshal- сериализатором): {"_rails":{"message":strict_b64(marshal),"exp":…, "pur":…}}. exp/pur присутствуют всегда (как у standalone-гема).

Source
verified(signed_message : String) : String | Nil

Возвращает исходную строку, если подпись верна; иначе nil. (Для полезных нагрузок turbo это всегда String — имя стрима.)

Source
verified_any(signed_message : String, purpose : String | Nil = nil) : JSON::Any | Nil

Возвращает исходное значение как JSON::Any, если подпись верна, purpose совпадает и срок не истёк; иначе nil. Понимает оба конверта.

Source
verified_marshaled(signed_message : String, purpose : String | Nil = nil) : String | Nil

Проверяет подпись и возвращает Marshal-строку из конверта #generate_marshaled; иначе nil.

Source

Nested types