hubssolib 3.0.1 → 3.0.3
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/Gemfile.lock +3 -3
- data/hubssolib.gemspec +1 -1
- data/lib/hub_sso_lib.rb +13 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 891c5bc596ecfdd5f9f1e9b844ac77eaa443426607d55ba16110cc194baca3a8
|
4
|
+
data.tar.gz: 42ffee7f098f4c9cbd1eec9e42e2c0f2e10a700ebd85b083113b517cd6706619
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d0046239b22405b6e6cf47d3e8e326bcc9f4c88a58ced4b13a3eab14fd822bb16bc63d3b06523a926abda7d46d53a15211000fdd9b7aff7e071ba2b708afd92
|
7
|
+
data.tar.gz: 0a1cd9ccaab6b08ae323ad572f3a563fa002c7a2250073cb0b76848f8f2c8879350828664fe37ee9a0590d134a8949dacb4419a54520569a3468d6a5b86eb3da
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 3.0.3, 10-Feb-2025
|
2
|
+
|
3
|
+
Change JavaScript code used for the login indicator so that simpler engines such as [Duktape](https://duktape.org) can run it. Operates correctly in script-enabled [NetSurf](https://www.netsurf-browser.org) now.
|
4
|
+
|
5
|
+
## 3.0.2, 04-Feb-2025
|
6
|
+
|
7
|
+
Fixes a bug that could cause cookie deletions for login state indication to sometimes fail to work as expected.
|
8
|
+
|
1
9
|
## 3.0.0, 28-Jan-2025 and 3.0.1, 03-Feb-2025
|
2
10
|
|
3
11
|
* The Hub "login indication" URL approach is now dropped, so layout templates **should be updated.**
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
hubssolib (3.0.
|
4
|
+
hubssolib (3.0.3)
|
5
5
|
base64 (~> 0.2)
|
6
6
|
drb (~> 2.2)
|
7
7
|
|
@@ -29,7 +29,7 @@ GEM
|
|
29
29
|
psych (5.2.3)
|
30
30
|
date
|
31
31
|
stringio
|
32
|
-
rdoc (6.
|
32
|
+
rdoc (6.12.0)
|
33
33
|
psych (>= 4.0.0)
|
34
34
|
reline (0.6.0)
|
35
35
|
io-console (~> 0.5)
|
@@ -37,7 +37,7 @@ GEM
|
|
37
37
|
rspec-core (~> 3.13.0)
|
38
38
|
rspec-expectations (~> 3.13.0)
|
39
39
|
rspec-mocks (~> 3.13.0)
|
40
|
-
rspec-core (3.13.
|
40
|
+
rspec-core (3.13.3)
|
41
41
|
rspec-support (~> 3.13.0)
|
42
42
|
rspec-expectations (3.13.3)
|
43
43
|
diff-lcs (>= 1.2.0, < 2.0)
|
data/hubssolib.gemspec
CHANGED
data/lib/hub_sso_lib.rb
CHANGED
@@ -42,10 +42,10 @@ module HubSsoLib
|
|
42
42
|
HUB_IDLE_TIME_LIMIT = 4 * 60 * 60
|
43
43
|
|
44
44
|
# Shared cookie name.
|
45
|
-
HUB_COOKIE_NAME =
|
45
|
+
HUB_COOKIE_NAME = :hubapp_shared_id
|
46
46
|
|
47
47
|
# Principally for #hubssolib_account_link.
|
48
|
-
HUB_LOGIN_INDICATOR_COOKIE =
|
48
|
+
HUB_LOGIN_INDICATOR_COOKIE = :hubapp_shared_id_alive
|
49
49
|
HUB_LOGIN_INDICATOR_COOKIE_VALUE = 'Y'
|
50
50
|
|
51
51
|
# Bypass SSL, for testing purposes? Rails 'production' mode will
|
@@ -560,9 +560,14 @@ module HubSsoLib
|
|
560
560
|
const logged_out_html = "#{helpers.j(logged_out_link)}";
|
561
561
|
const container = document.getElementById('hubssolib_login_indication')
|
562
562
|
|
563
|
+
#{
|
564
|
+
# No '?.' support in NetSurf's JS engine, so can't do the match
|
565
|
+
# and pop in a single line via "?.pop() || ''".
|
566
|
+
}
|
563
567
|
function hubSsoLibLoginStateWriteLink() {
|
564
568
|
const regexp = '#{helpers.j(HUB_LOGIN_INDICATOR_COOKIE)}\\s*=\\s*([^;]+)';
|
565
|
-
const
|
569
|
+
const match = document.cookie.match(regexp);
|
570
|
+
const flag = (match ? match.pop() : null) || '';
|
566
571
|
|
567
572
|
if (flag === '#{HUB_LOGIN_INDICATOR_COOKIE_VALUE}') {
|
568
573
|
container.innerHTML = logged_in_html;
|
@@ -576,6 +581,7 @@ module HubSsoLib
|
|
576
581
|
# login indications should thus arise from cached data.
|
577
582
|
}
|
578
583
|
hubSsoLibLoginStateWriteLink();
|
584
|
+
window.addEventListener('load', hubSsoLibLoginStateWriteLink);
|
579
585
|
window.addEventListener('pageshow', hubSsoLibLoginStateWriteLink);
|
580
586
|
</script>
|
581
587
|
HTML
|
@@ -722,7 +728,7 @@ module HubSsoLib
|
|
722
728
|
logged_in = hubssolib_logged_in?
|
723
729
|
|
724
730
|
if logged_in == false
|
725
|
-
cookies.delete(HUB_LOGIN_INDICATOR_COOKIE)
|
731
|
+
cookies.delete(HUB_LOGIN_INDICATOR_COOKIE, domain: :all, path: '/')
|
726
732
|
|
727
733
|
if login_is_required
|
728
734
|
hubssolib_store_location
|
@@ -736,8 +742,9 @@ module HubSsoLib
|
|
736
742
|
#
|
737
743
|
cookies[HUB_LOGIN_INDICATOR_COOKIE] = {
|
738
744
|
value: HUB_LOGIN_INDICATOR_COOKIE_VALUE,
|
739
|
-
domain: :all,
|
740
745
|
path: '/',
|
746
|
+
domain: :all,
|
747
|
+
expires: 1.year, # I.e. *not* session-scope
|
741
748
|
secure: ! hub_bypass_ssl?,
|
742
749
|
httponly: false
|
743
750
|
}
|
@@ -1039,8 +1046,8 @@ module HubSsoLib
|
|
1039
1046
|
|
1040
1047
|
cookies[HUB_COOKIE_NAME] = {
|
1041
1048
|
value: key,
|
1042
|
-
domain: :all,
|
1043
1049
|
path: '/',
|
1050
|
+
domain: :all,
|
1044
1051
|
secure: ! hub_bypass_ssl?,
|
1045
1052
|
httponly: true
|
1046
1053
|
}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hubssolib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Hodgkinson and others
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-02-
|
10
|
+
date: 2025-02-10 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: drb
|