pkce 0.1.0 → 1.0.0

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: 37312749fe743edc9779f4331351fd5b4b723ef8080c855ca4c3548ade4a6494
4
- data.tar.gz: bf1d320f3cf3ab287736d63b1a1d0ebb00231a993b41a75d483fc1014c6f916a
3
+ metadata.gz: b2f635c3ff226888ec85350fa7ae63ba4ee0a3aecd0e12ae28c2128df3b8f54e
4
+ data.tar.gz: 3a21e0fb7be1287db71b51be4a1f1b8a8b2a172b650782b1e77ad768d9226855
5
5
  SHA512:
6
- metadata.gz: 2cc80b9320b715e88cf573b1e8215ca732ebfb4f8cdffe8ab261ba1e57733df8693b80b44296054b116cd31746bc86f384a7307133e264c448c765e5efe605c0
7
- data.tar.gz: 4cf802d988303f04d64747749708f2376edb5fa977fde981f2f3d953c310ce0d8e7f2cd996fa48fadb6b05d6d938a5bd509595581a09cd0615a156c6a5c94876
6
+ metadata.gz: 5b88d3fad6794dce653c274d65dccb483e0f3fd1d16bff76035d429e0212a7fc8f8b1a640d6f549dbe223e84d616dd48ad51a4678ce04484168d51ef387c2c28
7
+ data.tar.gz: 3779b128a5bc0a95bf18416a6113169b2fe0c3404a20525f5df71fb4d60a72fafc4de792476cf141f9c0a08fe4a86d8661caa47c0d6de2f6a976bbc0da9fb0c2
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -75,21 +75,24 @@ case PKCE.call
75
75
  end
76
76
  ----
77
77
 
78
- Finally, since the code answered back is a link:https://www.alchemists.io/articles/ruby_structs[Struct], you have a value object -- which is frozen -- that you can easily test and interact with:
78
+ Finally, since the code answered back is a link:https://www.alchemists.io/articles/ruby_data[Data] object that you can easily test and interact with:
79
79
 
80
80
  [source,ruby]
81
81
  ----
82
82
  PKCE.call.success
83
- # #<struct PKCE::Code challenge="dTiwjdltI-SBR1wHTEWa8zQs2kegLoIxJb2fb8emno0", verify="p4uH9lxdDMLmYLaLtYV0QJMi-o0FTQT29CJWYcdRsK0xJVsaFiQ981W5nSWDsWJgA-LS5hwKHEPcOAmVgOELNpolPhi3tcelBX9Y-z_hHUOq24DAAZOe0DU6VBb6zHCZ">
83
+ #<data PKCE::Code challenge="ROMnfvHt04xhM80WB2PyPK67GGrG35UdFEf0DEBkes0", verify="cUq917cDIROAUkew-OjIdfIz1OYyv-ERt9NnSdzlxz4XSYzdbRycVuRDD2SBIDBiKnXUamxvpxNRsUMBQ1PvBdtziGs_oYe98MDWmM8J2_NJQBVg2kP-B2OqBdMp00qh">
84
84
  ----
85
85
 
86
- == Architecture
87
-
88
- The following documents the workflow used to process and build authorization codes.
86
+ == Development
89
87
 
90
- image::https://www.alchemists.io/images/projects/pkce/doc/sequence_diagram.svg[Sequence Diagram]
88
+ To contribute, run:
91
89
 
92
- == Development
90
+ [source,bash]
91
+ ----
92
+ git clone https://github.com/bkuhlmann/pkce
93
+ cd pkce
94
+ bin/setup
95
+ ----
93
96
 
94
97
  You can also use the IRB console for direct access to all objects:
95
98
 
@@ -98,6 +101,12 @@ You can also use the IRB console for direct access to all objects:
98
101
  bin/console
99
102
  ----
100
103
 
104
+ === Architecture
105
+
106
+ The following documents the workflow used to process and build authorization codes.
107
+
108
+ image::https://www.alchemists.io/images/projects/pkce/doc/sequence_diagram.svg[Sequence Diagram]
109
+
101
110
  == Tests
102
111
 
103
112
  To test, run:
data/lib/pkce/code.rb CHANGED
@@ -2,10 +2,5 @@
2
2
 
3
3
  module PKCE
4
4
  # Encapsulates the challenge and verify code.
5
- Code = Struct.new :challenge, :verify, keyword_init: true do
6
- def initialize *arguments
7
- super
8
- freeze
9
- end
10
- end
5
+ Code = Data.define :challenge, :verify
11
6
  end
data/lib/pkce/verifier.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "securerandom"
4
3
  require "dry/monads"
4
+ require "securerandom"
5
5
 
6
6
  module PKCE
7
7
  # Handles Proof Key for Code Exchange (PKCE) verification.
data/lib/pkce.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "pkce/challenger"
4
- require "pkce/verifier"
5
4
  require "pkce/code"
6
5
  require "pkce/encoder"
6
+ require "pkce/verifier"
7
7
 
8
8
  # Main namespace.
9
9
  module PKCE
data/pkce.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "pkce"
5
- spec.version = "0.1.0"
5
+ spec.version = "1.0.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://www.alchemists.io/projects/pkce"
@@ -22,8 +22,8 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = "~> 3.1"
26
- spec.add_dependency "dry-monads", "~> 1.4"
25
+ spec.required_ruby_version = "~> 3.2"
26
+ spec.add_dependency "dry-monads", "~> 1.6"
27
27
 
28
28
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
29
29
  spec.files = Dir["*.gemspec", "lib/**/*"]
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pkce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,7 +28,7 @@ cert_chain:
28
28
  CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
29
29
  RFE=
30
30
  -----END CERTIFICATE-----
31
- date: 2022-07-17 00:00:00.000000000 Z
31
+ date: 2022-12-25 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: dry-monads
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '1.4'
39
+ version: '1.6'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.4'
46
+ version: '1.6'
47
47
  description:
48
48
  email:
49
49
  - brooke@alchemists.io
@@ -80,14 +80,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '3.1'
83
+ version: '3.2'
84
84
  required_rubygems_version: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  requirements: []
90
- rubygems_version: 3.3.18
90
+ rubygems_version: 3.3.26
91
91
  signing_key:
92
92
  specification_version: 4
93
93
  summary: Builds Proof Key for Code Exchange (PKCE) challenge and verify codes for
metadata.gz.sig CHANGED
Binary file