pkce 0.1.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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