Sha256: 5d5879e4ace8c74223f9a10a31288f3ff496a6a366b0255a0cc4fd49a758342a

Contents?: true

Size: 823 Bytes

Versions: 26

Compression:

Stored size: 823 Bytes

Contents

require 'syruppay_jose'

module BjondJwt
  def jwt_encode_payload(json, bjond_registration)
    payload = {
      :json => json,
      :iss => 'Bjönd, Inc.',
      :aud => ENV['BJOND_ADAPTER_AUDIENCE'],
      :exp => Time.now.to_i + 10*3600,
      :nbf => Time.now.to_i - 2*3600,
      :sub => ENV['BJOND_ADAPTER_SUBJECT']
    }.to_json
    header = {:alg => 'A128KW', :enc => 'A128CBC-HS256'}
    return SyrupPay::JsonEncryptionCompactSerialization.serialization(Base64.decode64(bjond_registration.encryption_key), header, payload)
  end

  def jwt_decode_payload_and_return_json(token, bjond_registration)
    claims_json = SyrupPay::CompactDeserialization.deserialization(Base64.decode64(bjond_registration.encryption_key), token)
    claims = JSON.parse(claims_json)
    return JSON.parse(claims['json'][0])
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
bjond-api-1.1.0 lib/bjond-jwt.rb
bjond-api-1.0.0 lib/bjond-jwt.rb
bjond-api-0.4.0 lib/bjond-jwt.rb
bjond-api-0.3.13 lib/bjond-jwt.rb
bjond-api-0.3.12 lib/bjond-jwt.rb
bjond-api-0.3.11 lib/bjond-jwt.rb
bjond-api-0.3.10 lib/bjond-jwt.rb
bjond-api-0.3.9 lib/bjond-jwt.rb
bjond-api-0.3.6 lib/bjond-jwt.rb
bjond-api-0.3.5 lib/bjond-jwt.rb
bjond-api-0.3.4 lib/bjond-jwt.rb
bjond-api-0.3.3 lib/bjond-jwt.rb
bjond-api-0.3.2 lib/bjond-jwt.rb
bjond-api-0.3.1 lib/bjond-jwt.rb
bjond-api-0.3.0 lib/bjond-jwt.rb
bjond-api-0.2.6 lib/bjond-jwt.rb
bjond-api-0.2.4 lib/bjond-jwt.rb
bjond-api-0.2.3 lib/bjond-jwt.rb
bjond-api-0.2.2 lib/bjond-jwt.rb
bjond-api-0.2.1 lib/bjond-jwt.rb