Sha256: 90b76c5e04e8f90ed1ad0f78512bd0baccc6e3d7b36d751a73263e9b5a211bca

Contents?: true

Size: 491 Bytes

Versions: 1

Compression:

Stored size: 491 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)

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

Version data entries

1 entries across 1 versions & 1 rubygems

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