intercom-rails 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8672ce0798e1f6ed14669e026fb048640c70592e27a3d34e217a6bddb0cbf097
4
- data.tar.gz: e62b7cb80da4e200b47b4454b67e87c5a229702a6f626b471c117de433e28794
3
+ metadata.gz: 5c9335eca559ae32c3965cf1969443c0e20b65d29b81f1e5c6200d1d9e8d734c
4
+ data.tar.gz: 120b0878b7f09a4301c94c2c8dbc0c0376623a91e48948339482aafd203c9b99
5
5
  SHA512:
6
- metadata.gz: f5ee15eb8b021131a761f45ac8a749a7c2ecec50813c7d0befdb6aa59a9b0f8281e9867a65b09bdbfdf4b5e2894ebebef940d03aae85618b4cb7490308f181b9
7
- data.tar.gz: 6a5b063fde892db61708f02a868af8fe2879a54225b2d471fcdd15fb4af654318b2a26af3d0e8f1eba9a99fc01ee2424af3a1b95e6cb849e26dbd61ea51b3527
6
+ metadata.gz: f584dbf2f062e00f9b3d00b53a5cf8b9bef4406cf79f1afa5af805e106a7ef52402668a01f45f5302c04a15985d808651022d45be8b4af6ec8a52a571c12b7f9
7
+ data.tar.gz: cadbf3a8a2927260fc51131f688f8a5ae321af6d5d661db9688efa3c2bf2276608ae28264c0b535494610cac561f551151cdedaca4f78dae9b39f9f0bf1ec2d4
@@ -145,6 +145,7 @@ module IntercomRails
145
145
 
146
146
  config_group :jwt do
147
147
  config_accessor :enabled
148
+ config_accessor :expiry
148
149
  config_accessor :signed_user_fields do |value|
149
150
  unless value.nil? || (value.kind_of?(Array) && value.all? { |v| v.kind_of?(Symbol) || v.kind_of?(String) })
150
151
  raise ArgumentError, "jwt.signed_user_fields must be an array of symbols or strings"
@@ -18,7 +18,7 @@ module IntercomRails
18
18
  include ::ActionView::Helpers::TagHelper
19
19
 
20
20
  attr_reader :user_details, :company_details, :show_everywhere, :session_duration
21
- attr_accessor :secret, :widget_options, :controller, :nonce, :encrypted_mode_enabled, :encrypted_mode, :jwt_enabled
21
+ attr_accessor :secret, :widget_options, :controller, :nonce, :encrypted_mode_enabled, :encrypted_mode, :jwt_enabled, :jwt_expiry
22
22
 
23
23
  def initialize(options = {})
24
24
  self.secret = options[:secret] || Config.api_secret
@@ -27,6 +27,7 @@ module IntercomRails
27
27
  @show_everywhere = options[:show_everywhere]
28
28
  @session_duration = session_duration_from_config
29
29
  self.jwt_enabled = options[:jwt_enabled] || Config.jwt.enabled
30
+ self.jwt_expiry = options[:jwt_expiry] || Config.jwt.expiry
30
31
 
31
32
  initial_user_details = if options[:find_current_user_details]
32
33
  find_current_user_details
@@ -124,10 +125,11 @@ module IntercomRails
124
125
  def generate_jwt
125
126
  return nil unless user_details[:user_id].present?
126
127
 
127
- payload = {
128
- user_id: user_details[:user_id].to_s,
129
- exp: 24.hours.from_now.to_i
130
- }
128
+ payload = { user_id: user_details[:user_id].to_s }
129
+
130
+ if jwt_expiry
131
+ payload[:exp] = jwt_expiry.from_now.to_i
132
+ end
131
133
 
132
134
  if Config.jwt.signed_user_fields.present?
133
135
  Config.jwt.signed_user_fields.each do |field|
@@ -1,3 +1,3 @@
1
1
  module IntercomRails
2
- VERSION = "1.0.5"
2
+ VERSION = "1.0.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: intercom-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben McRedmond
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-12-20 00:00:00.000000000 Z
13
+ date: 2025-01-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport