omniauth-sqrl 0.1.0 → 0.1.2

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -1
  3. data/README.md +6 -1
  4. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 927b439fc77276b449c3e35936a4ce01c14bed47a469b9144bf6555d97ee0bd9
4
- data.tar.gz: 843d5fcf4c202557ede06d6da88bd86c3f22d636943fcc0d0444e3590687439d
3
+ metadata.gz: f40e7da2aa9850520361ed291193dc0bc7aee5c4a6da9016d2117c0836b4241e
4
+ data.tar.gz: '0889f5ef8759ffffe77701c64ef6f2ca5b80325c94e2b366ba78f6ea1673cd1d'
5
5
  SHA512:
6
- metadata.gz: 683e5faf1c3b49ce5547445431d1719d8f4073959feb1a2d935457edb24db64c6cce732142fdc1550ef6032fae8286b8639b71c143a55ff6769531968dd6affe
7
- data.tar.gz: 696a7d90157eaf5397d452e81b8d6094074f0dece1c1ebd36f350ce4a48964a84ab00b126d23455519893af85e4495601d44c026d3dee34b873617cd7fe1615b
6
+ metadata.gz: 7123fddf2939344b480691a3afa67955b8c50fc75887c2097e9df5350aa71b84ea23067f1e1107965007d7de8a2faea8404e24407d681fb8158ee929ad179bac
7
+ data.tar.gz: 637e3c83c88c12cdca6445baebb3549982c527d422ed318c8d0ff4c4a64de61b36aeb44296b0f01e6f674cef975e336a7bbba4ac22c46eb7bd90914d01704538
data/CHANGELOG.md CHANGED
@@ -1,9 +1,41 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.0 — 2026-10-20
3
+ All notable changes to `omniauth-sqrl` are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this
6
+ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Every gem in
7
+ the family shares one version number and is released in lockstep.
8
+
9
+ ## [Unreleased]
10
+
11
+ ## [0.1.2] - 2026-10-21
12
+
13
+ ### Changed
14
+
15
+ - Requires sqrl-core and sqrl-rack 0.1.2. sqrl-core fixes binary S4 identity files whose
16
+ last byte is whitespace being truncated on parse and brings the server into line with
17
+ Steve Gibson's final specification (`suk=` on every command, the post-update TIF after a
18
+ re-key, `url=` on a CPS `disable`, and more). No code changes in this gem.
19
+
20
+ ### Security
21
+
22
+ - Through sqrl-rack 0.1.2, a login the SQRL client completed in CPS mode can no longer be
23
+ completed through the browser's status poll; only the browser holding the one-time
24
+ `url=` token is signed in, as the specification requires.
25
+
26
+ ## [0.1.1] - 2026-10-20
27
+
28
+ ### Changed
29
+
30
+ - Requires sqrl-core 0.1.1, which fixes the `NoMethodError` on Ruby 3.1 and 3.2. No other
31
+ changes.
32
+
33
+ ## [0.1.0] - 2026-10-20
4
34
 
5
35
  First release.
6
36
 
37
+ ### Added
38
+
7
39
  - `provider :sqrl`: request phase renders the login page; the strategy serves the SQRL
8
40
  endpoint, status poll, script and refresh routes itself; the callback builds an auth hash
9
41
  keyed by the identity key with `extra["sqrl"]` facts (created, re-keyed from, options,
@@ -14,3 +46,8 @@ First release.
14
46
  testing mode, `poll_requires_ip_match` (off by default).
15
47
  - Works with `devise :omniauthable`.
16
48
  - Requires Ruby 3.1+, OmniAuth 2.x.
49
+
50
+ [Unreleased]: https://github.com/danielpclark/sqrl-ruby/compare/v0.1.2...HEAD
51
+ [0.1.2]: https://github.com/danielpclark/sqrl-ruby/compare/v0.1.1...v0.1.2
52
+ [0.1.1]: https://github.com/danielpclark/sqrl-ruby/compare/v0.1.0...v0.1.1
53
+ [0.1.0]: https://github.com/danielpclark/sqrl-ruby/releases/tag/v0.1.0
data/README.md CHANGED
@@ -24,6 +24,7 @@ end
24
24
  | `POST /auth/sqrl/cli` | other phase | the SQRL client's protocol endpoint (`query`, `ident`, `disable`, `enable`, `remove`) |
25
25
  | `GET /auth/sqrl/status` | other phase | cookie-bound JSON poll used by `sqrl.js` for logins from another device |
26
26
  | `GET /auth/sqrl/sqrl.js` | other phase | the browser script |
27
+ | `GET /auth/sqrl/refresh` | other phase | a fresh login URL for the page when a nut expired (JSON) |
27
28
  | `GET /auth/sqrl/callback?t=TOKEN` | callback phase | Client Provided Session landing: the one-time token is claimed and the auth hash is built |
28
29
  | `GET /auth/sqrl/callback` | callback phase | completion from the poller (the browser's own pending login) |
29
30
 
@@ -72,7 +73,11 @@ foreign, reused or expired token) or `sqrl_disabled`.
72
73
  | `title:` / `cancel_url:` | "Sign in with SQRL" / the origin | login page title and cancel link |
73
74
  | `info:` | `nil` | callable `(identity) -> Hash` to fill `info` |
74
75
  | `ip:` | `Rack::Request#ip` | callable resolving the client IP (trusted proxies) |
75
- | `cli_path:` / `status_path:` / `script_path:` | under the provider prefix | endpoint paths |
76
+ | `cli_path:` / `status_path:` / `script_path:` / `refresh_path:` | under the provider prefix | endpoint paths |
77
+ | `allowed_hosts:` / `host_cache_limit:` | `nil` / 16 | accepted request hosts when `host:` is derived, and how many distinct ones are kept |
78
+ | `before_issue:` / `before_handle:` | `nil` | hooks that may raise `SQRL::Server::RateLimited` (answered with 429) |
79
+ | `prune_every:` | 1000 | opportunistic `prune!` every N requests (`nil` disables) |
80
+ | `logger:` | `nil` | logger for warnings and protocol traces |
76
81
 
77
82
  ## Devise
78
83
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-sqrl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel P. Clark
@@ -29,28 +29,28 @@ dependencies:
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 0.1.0
32
+ version: 0.1.2
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.1.0
39
+ version: 0.1.2
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: sqrl-rack
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 0.1.0
46
+ version: 0.1.2
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 0.1.0
53
+ version: 0.1.2
54
54
  email:
55
55
  - 6ftdan@gmail.com
56
56
  executables: []