omniauth-sqrl 0.1.1 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +36 -4
- data/README.md +6 -1
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f40e7da2aa9850520361ed291193dc0bc7aee5c4a6da9016d2117c0836b4241e
|
|
4
|
+
data.tar.gz: '0889f5ef8759ffffe77701c64ef6f2ca5b80325c94e2b366ba78f6ea1673cd1d'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7123fddf2939344b480691a3afa67955b8c50fc75887c2097e9df5350aa71b84ea23067f1e1107965007d7de8a2faea8404e24407d681fb8158ee929ad179bac
|
|
7
|
+
data.tar.gz: 637e3c83c88c12cdca6445baebb3549982c527d422ed318c8d0ff4c4a64de61b36aeb44296b0f01e6f674cef975e336a7bbba4ac22c46eb7bd90914d01704538
|
data/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,41 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
All notable changes to `omniauth-sqrl` are documented in this file.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
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.
|
|
7
8
|
|
|
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
|
|
9
34
|
|
|
10
35
|
First release.
|
|
11
36
|
|
|
37
|
+
### Added
|
|
38
|
+
|
|
12
39
|
- `provider :sqrl`: request phase renders the login page; the strategy serves the SQRL
|
|
13
40
|
endpoint, status poll, script and refresh routes itself; the callback builds an auth hash
|
|
14
41
|
keyed by the identity key with `extra["sqrl"]` facts (created, re-keyed from, options,
|
|
@@ -19,3 +46,8 @@ First release.
|
|
|
19
46
|
testing mode, `poll_requires_ip_match` (off by default).
|
|
20
47
|
- Works with `devise :omniauthable`.
|
|
21
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
53
|
+
version: 0.1.2
|
|
54
54
|
email:
|
|
55
55
|
- 6ftdan@gmail.com
|
|
56
56
|
executables: []
|