pkce 0.0.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +3 -2
- data/README.adoc +17 -6
- data/pkce.gemspec +4 -4
- data.tar.gz.sig +0 -0
- metadata +8 -7
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17e05354b4505beffb3af6fb1c0fa1d937bf23ca76288e2efa45ee22b119a546
|
4
|
+
data.tar.gz: 1b6367c198c71e38de058dcabd203174f59f0b48b3946122d4e6d918d758481e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15acfd59c5b9dbf8a5368f50226802dd3473f9de61432df575f44f370c06fbb42519eeb6282b87ac69b3393ec9d8abb3cffcbb6f9051810f62dce573814626af
|
7
|
+
data.tar.gz: bb90f9b5c0062f03fb29347713466697f6ca9053dbeaf8f4faccbefa87f4c5f069d3d5ecf9309917727e113067faca060e49fba4ce5ae93b09b7829664ea9d30
|
checksums.yaml.gz.sig
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
,
|
1
|
+
�?�^fyb��o��5'͋8 u�qV8D��:�F"¡:J��K=��:�|aՐ:�}!�͕(�L8��y9�ktS/rU��!������E��ux=�pE�3
|
2
|
+
TRA.�,Q8�/z1_0�e�i�b�k�̛*=փ�����o��^�����\_�m)��[1������E,V<���{�츠�W
|
3
|
+
l�!q�3uʢ�>��A�s��l!�-
|
data/README.adoc
CHANGED
@@ -6,11 +6,13 @@
|
|
6
6
|
|
7
7
|
= Proof Key for Code Exchange (PKCE)
|
8
8
|
|
9
|
-
|
9
|
+
Proof Key for Code Exchange (PKCE) is an authorization code flow extension to link:https://oauth.net[OAuth] which is necessary for mobile authentication but works well for web flows because the added security is transparent to the user. Specifically, PKCE prevents the following types of attacks:
|
10
10
|
|
11
11
|
* Authorization code interception
|
12
12
|
* Authorization code injection
|
13
13
|
|
14
|
+
This gem is an implementation of the {rfc_link} specification so you can leverage PKCE in your own code.
|
15
|
+
|
14
16
|
toc::[]
|
15
17
|
|
16
18
|
== Features
|
@@ -81,13 +83,16 @@ PKCE.call.success
|
|
81
83
|
# #<struct PKCE::Code challenge="dTiwjdltI-SBR1wHTEWa8zQs2kegLoIxJb2fb8emno0", verify="p4uH9lxdDMLmYLaLtYV0QJMi-o0FTQT29CJWYcdRsK0xJVsaFiQ981W5nSWDsWJgA-LS5hwKHEPcOAmVgOELNpolPhi3tcelBX9Y-z_hHUOq24DAAZOe0DU6VBb6zHCZ">
|
82
84
|
----
|
83
85
|
|
84
|
-
==
|
85
|
-
|
86
|
-
The following documents the workflow used to process and build authorization codes.
|
86
|
+
== Development
|
87
87
|
|
88
|
-
|
88
|
+
To contribute, run:
|
89
89
|
|
90
|
-
|
90
|
+
[source,bash]
|
91
|
+
----
|
92
|
+
git clone https://github.com/bkuhlmann/pkce
|
93
|
+
cd pkce
|
94
|
+
bin/setup
|
95
|
+
----
|
91
96
|
|
92
97
|
You can also use the IRB console for direct access to all objects:
|
93
98
|
|
@@ -96,6 +101,12 @@ You can also use the IRB console for direct access to all objects:
|
|
96
101
|
bin/console
|
97
102
|
----
|
98
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
|
+
|
99
110
|
== Tests
|
100
111
|
|
101
112
|
To test, run:
|
data/pkce.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "pkce"
|
5
|
-
spec.version = "0.
|
5
|
+
spec.version = "0.2.0"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
8
|
spec.homepage = "https://www.alchemists.io/projects/pkce"
|
9
|
-
spec.summary = "
|
9
|
+
spec.summary = "Builds Proof Key for Code Exchange (PKCE) challenge and verify codes for OAuth."
|
10
10
|
spec.license = "Hippocratic-2.1"
|
11
11
|
|
12
12
|
spec.metadata = {
|
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
"changelog_uri" => "https://www.alchemists.io/projects/pkce/versions",
|
15
15
|
"documentation_uri" => "https://www.alchemists.io/projects/pkce",
|
16
16
|
"funding_uri" => "https://github.com/sponsors/bkuhlmann",
|
17
|
-
"label" => "
|
17
|
+
"label" => "PKCE",
|
18
18
|
"rubygems_mfa_required" => "true",
|
19
19
|
"source_code_uri" => "https://github.com/bkuhlmann/pkce"
|
20
20
|
}
|
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.cert_chain = [Gem.default_cert_path]
|
24
24
|
|
25
25
|
spec.required_ruby_version = "~> 3.1"
|
26
|
-
spec.add_dependency "dry-monads", "~> 1.
|
26
|
+
spec.add_dependency "dry-monads", "~> 1.5"
|
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.
|
4
|
+
version: 0.2.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-
|
31
|
+
date: 2022-10-22 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.
|
39
|
+
version: '1.5'
|
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.
|
46
|
+
version: '1.5'
|
47
47
|
description:
|
48
48
|
email:
|
49
49
|
- brooke@alchemists.io
|
@@ -69,7 +69,7 @@ metadata:
|
|
69
69
|
changelog_uri: https://www.alchemists.io/projects/pkce/versions
|
70
70
|
documentation_uri: https://www.alchemists.io/projects/pkce
|
71
71
|
funding_uri: https://github.com/sponsors/bkuhlmann
|
72
|
-
label:
|
72
|
+
label: PKCE
|
73
73
|
rubygems_mfa_required: 'true'
|
74
74
|
source_code_uri: https://github.com/bkuhlmann/pkce
|
75
75
|
post_install_message:
|
@@ -87,8 +87,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
89
|
requirements: []
|
90
|
-
rubygems_version: 3.3.
|
90
|
+
rubygems_version: 3.3.24
|
91
91
|
signing_key:
|
92
92
|
specification_version: 4
|
93
|
-
summary:
|
93
|
+
summary: Builds Proof Key for Code Exchange (PKCE) challenge and verify codes for
|
94
|
+
OAuth.
|
94
95
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|