Sha256: 031252aca4b6d42546052fae6c491116c9fccdae75950bf17a00fe798c4f5458

Contents?: true

Size: 535 Bytes

Versions: 1

Compression:

Stored size: 535 Bytes

Contents

require "base64"
require "json"
require "jose"
require_relative "./sign"

module JsonJws::Encode
  def encode(jwk, header, payload)
    protected_header = Base64.urlsafe_encode64(header.to_json)
    payload = payload.to_json unless payload.is_a?(String)

    protected_header, signature = build_signature(jwk, header, payload)
    {
      "payload" => Base64.urlsafe_encode64(payload),
      "signatures" => [
        {
          "protected" => protected_header,
          "signature" => signature,
        },
      ],
    }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
json_jws-0.2.0 lib/json_jws/encode.rb