omniauth-dex-energy 0.1.1 → 1.0.1
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/README.md +7 -2
- data/bin/publish-gem +1 -0
- data/examples/sinatra/Gemfile +4 -0
- data/examples/sinatra/Gemfile.lock +19 -18
- data/examples/sinatra/app.rb +11 -4
- data/examples/sinatra/views/hello.slim +1 -1
- data/examples/sinatra/views/login.slim +6 -0
- data/lib/omniauth/strategies/dex_energy.rb +15 -1
- data/omniauth-dex-energy.gemspec +4 -10
- metadata +11 -107
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e3b098d118fe551bc1fd8904455175e21ac5196e5463135347a910f97cb46523
|
4
|
+
data.tar.gz: fafa972c321517c6cdd4a7f5a5082ed1ddc495b9442149b8ecbe80b57928fdaa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2bf63767b41f1600d3acfbf2cfe467eb59633798d3d7bbd9636a702b540ef3a855d1b9c27dbaf261cc317f902151b525d1cfa31ae8de47a2befa44c09eeb6fc
|
7
|
+
data.tar.gz: 280442e2d4b8d47325539230ce1c361034baafb621c7ad8df4b2448c9451b28365f3e4cf8ee0e4c25eca9f0c6612b007e92f460fac87b431c8e8d2960280223e
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# omniauth-dex-energy
|
2
2
|
|
3
3
|

|
4
|
+
[](https://badge.fury.io/rb/omniauth-dex-energy)
|
4
5
|
|
5
6
|
An OmniAuth strategy to authenticate with deX.
|
6
7
|
|
@@ -26,11 +27,15 @@ gem 'omniauth-dex-energy'
|
|
26
27
|
|
27
28
|
And then execute:
|
28
29
|
|
29
|
-
|
30
|
+
```sh
|
31
|
+
bundle install
|
32
|
+
```
|
30
33
|
|
31
34
|
Or install it yourself as:
|
32
35
|
|
33
|
-
|
36
|
+
```sh
|
37
|
+
gem install omniauth-dex-energy
|
38
|
+
```
|
34
39
|
|
35
40
|
## Usage
|
36
41
|
|
data/bin/publish-gem
CHANGED
data/examples/sinatra/Gemfile
CHANGED
@@ -1,46 +1,47 @@
|
|
1
1
|
GEM
|
2
|
+
remote: https://rubygems.org/
|
2
3
|
specs:
|
3
4
|
faraday (1.0.0)
|
4
5
|
multipart-post (>= 1.2, < 3)
|
5
6
|
foreman (0.86.0)
|
6
|
-
hashie (
|
7
|
+
hashie (5.0.0)
|
7
8
|
jwt (2.2.1)
|
8
9
|
multi_json (1.14.1)
|
9
10
|
multi_xml (0.6.0)
|
10
11
|
multipart-post (2.1.1)
|
11
|
-
mustermann (
|
12
|
+
mustermann (2.0.2)
|
12
13
|
ruby2_keywords (~> 0.0.1)
|
13
|
-
nio4r (2.5.
|
14
|
-
oauth2 (1.4.
|
14
|
+
nio4r (2.5.9)
|
15
|
+
oauth2 (1.4.4)
|
15
16
|
faraday (>= 0.8, < 2.0)
|
16
17
|
jwt (>= 1.0, < 3.0)
|
17
18
|
multi_json (~> 1.3)
|
18
19
|
multi_xml (~> 0.5)
|
19
20
|
rack (>= 1.2, < 3)
|
20
|
-
omniauth (1.9.
|
21
|
-
hashie (>= 3.4.6
|
21
|
+
omniauth (1.9.2)
|
22
|
+
hashie (>= 3.4.6)
|
22
23
|
rack (>= 1.6.2, < 3)
|
23
|
-
omniauth-dex-energy (0.1.
|
24
|
-
omniauth-oauth2 (~> 1.6
|
24
|
+
omniauth-dex-energy (0.1.1)
|
25
|
+
omniauth-oauth2 (~> 1.6)
|
25
26
|
omniauth-oauth2 (1.6.0)
|
26
27
|
oauth2 (~> 1.1)
|
27
28
|
omniauth (~> 1.9)
|
28
|
-
puma (
|
29
|
+
puma (6.3.1)
|
29
30
|
nio4r (~> 2.0)
|
30
|
-
rack (2.2.
|
31
|
-
rack-protection (2.
|
31
|
+
rack (2.2.8)
|
32
|
+
rack-protection (2.2.3)
|
32
33
|
rack
|
33
|
-
ruby2_keywords (0.0.
|
34
|
-
sinatra (2.
|
35
|
-
mustermann (~>
|
36
|
-
rack (~> 2.
|
37
|
-
rack-protection (= 2.
|
34
|
+
ruby2_keywords (0.0.5)
|
35
|
+
sinatra (2.2.3)
|
36
|
+
mustermann (~> 2.0)
|
37
|
+
rack (~> 2.2)
|
38
|
+
rack-protection (= 2.2.3)
|
38
39
|
tilt (~> 2.0)
|
39
40
|
slim (4.0.1)
|
40
41
|
temple (>= 0.7.6, < 0.9)
|
41
42
|
tilt (>= 2.0.6, < 2.1)
|
42
43
|
temple (0.8.2)
|
43
|
-
tilt (2.0.
|
44
|
+
tilt (2.0.11)
|
44
45
|
|
45
46
|
PLATFORMS
|
46
47
|
ruby
|
@@ -53,4 +54,4 @@ DEPENDENCIES
|
|
53
54
|
slim
|
54
55
|
|
55
56
|
BUNDLED WITH
|
56
|
-
2.1.
|
57
|
+
2.1.4
|
data/examples/sinatra/app.rb
CHANGED
@@ -8,6 +8,7 @@ oauth2_client_id = ENV['OAUTH2_CLIENT_ID']
|
|
8
8
|
oauth2_client_secret = ENV['OAUTH2_CLIENT_SECRET']
|
9
9
|
|
10
10
|
use Rack::Session::Cookie
|
11
|
+
use Rack::Protection::AuthenticityToken
|
11
12
|
|
12
13
|
use OmniAuth::Builder do
|
13
14
|
provider :dex_energy, oauth2_client_id, oauth2_client_secret
|
@@ -19,8 +20,7 @@ get '/' do
|
|
19
20
|
end
|
20
21
|
|
21
22
|
get '/login' do
|
22
|
-
|
23
|
-
redirect to("/auth/dex_energy?origin=#{URI.encode_www_form_component(request.referrer)}")
|
23
|
+
slim :login
|
24
24
|
end
|
25
25
|
|
26
26
|
get '/auth/dex_energy/callback' do
|
@@ -31,7 +31,14 @@ get '/auth/dex_energy/callback' do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
get '/logout' do
|
34
|
-
# Log the user out of their session in the app
|
34
|
+
# Log the user out of their session in the app, and then redirect them to the IdP
|
35
|
+
# so that it can log them out.
|
36
|
+
# The user will be redirect back to us afterwards.
|
35
37
|
session.delete(:user)
|
36
|
-
|
38
|
+
|
39
|
+
logout_url = OmniAuth::Strategies::DexEnergy.logout_uri(
|
40
|
+
client_id: oauth2_client_id,
|
41
|
+
redirect_uri: to('/'),
|
42
|
+
)
|
43
|
+
redirect logout_url
|
37
44
|
end
|
@@ -6,9 +6,13 @@ require 'omniauth-oauth2'
|
|
6
6
|
module OmniAuth
|
7
7
|
module Strategies
|
8
8
|
class DexEnergy < OmniAuth::Strategies::OAuth2
|
9
|
+
DEFAULT_SITE = 'https://who.dex.energy'
|
10
|
+
|
9
11
|
option :name, 'dex_energy'
|
10
12
|
|
11
|
-
option :client_options, site:
|
13
|
+
option :client_options, site: DEFAULT_SITE, auth_scheme: :basic_auth
|
14
|
+
|
15
|
+
option :authorize_params, scope: 'openid'
|
12
16
|
|
13
17
|
uid do
|
14
18
|
raw_info['sub']
|
@@ -26,6 +30,16 @@ module OmniAuth
|
|
26
30
|
}
|
27
31
|
end
|
28
32
|
|
33
|
+
class << self
|
34
|
+
def logout_uri(client_id:, redirect_uri:, site: nil)
|
35
|
+
site ||= DEFAULT_SITE
|
36
|
+
|
37
|
+
encoded_redirect_uri = URI.encode_www_form_component(redirect_uri)
|
38
|
+
|
39
|
+
"#{site}/oauth/logout?client_id=#{client_id}&redirect_uri=#{encoded_redirect_uri}"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
29
43
|
private
|
30
44
|
|
31
45
|
def raw_info
|
data/omniauth-dex-energy.gemspec
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
gem_version = `git describe --
|
3
|
+
gem_version = `git describe --tags --abbrev=0`.strip.sub(/^v/, '')
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
+
spec.required_ruby_version = '>= 3.1'
|
6
7
|
spec.name = 'omniauth-dex-energy'
|
7
8
|
spec.version = gem_version
|
8
9
|
spec.authors = ['Cera Davies', 'Nick Burgin', 'Mike Williams']
|
@@ -28,14 +29,7 @@ Gem::Specification.new do |spec|
|
|
28
29
|
spec.metadata['homepage_uri'] = spec.homepage
|
29
30
|
spec.metadata['source_code_uri'] = spec.homepage
|
30
31
|
spec.metadata['changelog_uri'] = "#{spec.homepage}/releases"
|
32
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
31
33
|
|
32
|
-
spec.add_dependency 'omniauth-oauth2', '~> 1.
|
33
|
-
|
34
|
-
spec.add_development_dependency 'bundler', '~> 2.0'
|
35
|
-
spec.add_development_dependency 'pry-byebug', '~> 3.8.0'
|
36
|
-
spec.add_development_dependency 'rack', '~> 1.6.0'
|
37
|
-
spec.add_development_dependency 'rake', '~> 12.0'
|
38
|
-
spec.add_development_dependency 'rspec', '~> 3.0'
|
39
|
-
spec.add_development_dependency 'rubocop', '~> 0.77'
|
40
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 1.37.0'
|
34
|
+
spec.add_dependency 'omniauth-oauth2', '~> 1.8'
|
41
35
|
end
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth-dex-energy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cera Davies
|
8
8
|
- Nick Burgin
|
9
9
|
- Mike Williams
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2025-10-13 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: omniauth-oauth2
|
@@ -18,112 +18,14 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '1.
|
21
|
+
version: '1.8'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '1.
|
29
|
-
- !ruby/object:Gem::Dependency
|
30
|
-
name: bundler
|
31
|
-
requirement: !ruby/object:Gem::Requirement
|
32
|
-
requirements:
|
33
|
-
- - "~>"
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version: '2.0'
|
36
|
-
type: :development
|
37
|
-
prerelease: false
|
38
|
-
version_requirements: !ruby/object:Gem::Requirement
|
39
|
-
requirements:
|
40
|
-
- - "~>"
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: '2.0'
|
43
|
-
- !ruby/object:Gem::Dependency
|
44
|
-
name: pry-byebug
|
45
|
-
requirement: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - "~>"
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 3.8.0
|
50
|
-
type: :development
|
51
|
-
prerelease: false
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
53
|
-
requirements:
|
54
|
-
- - "~>"
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 3.8.0
|
57
|
-
- !ruby/object:Gem::Dependency
|
58
|
-
name: rack
|
59
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
-
requirements:
|
61
|
-
- - "~>"
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: 1.6.0
|
64
|
-
type: :development
|
65
|
-
prerelease: false
|
66
|
-
version_requirements: !ruby/object:Gem::Requirement
|
67
|
-
requirements:
|
68
|
-
- - "~>"
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: 1.6.0
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: rake
|
73
|
-
requirement: !ruby/object:Gem::Requirement
|
74
|
-
requirements:
|
75
|
-
- - "~>"
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '12.0'
|
78
|
-
type: :development
|
79
|
-
prerelease: false
|
80
|
-
version_requirements: !ruby/object:Gem::Requirement
|
81
|
-
requirements:
|
82
|
-
- - "~>"
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: '12.0'
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
name: rspec
|
87
|
-
requirement: !ruby/object:Gem::Requirement
|
88
|
-
requirements:
|
89
|
-
- - "~>"
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: '3.0'
|
92
|
-
type: :development
|
93
|
-
prerelease: false
|
94
|
-
version_requirements: !ruby/object:Gem::Requirement
|
95
|
-
requirements:
|
96
|
-
- - "~>"
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: '3.0'
|
99
|
-
- !ruby/object:Gem::Dependency
|
100
|
-
name: rubocop
|
101
|
-
requirement: !ruby/object:Gem::Requirement
|
102
|
-
requirements:
|
103
|
-
- - "~>"
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
version: '0.77'
|
106
|
-
type: :development
|
107
|
-
prerelease: false
|
108
|
-
version_requirements: !ruby/object:Gem::Requirement
|
109
|
-
requirements:
|
110
|
-
- - "~>"
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: '0.77'
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: rubocop-rspec
|
115
|
-
requirement: !ruby/object:Gem::Requirement
|
116
|
-
requirements:
|
117
|
-
- - "~>"
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
version: 1.37.0
|
120
|
-
type: :development
|
121
|
-
prerelease: false
|
122
|
-
version_requirements: !ruby/object:Gem::Requirement
|
123
|
-
requirements:
|
124
|
-
- - "~>"
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: 1.37.0
|
28
|
+
version: '1.8'
|
127
29
|
description: an OmniAuth strategy for authenticating with deX
|
128
30
|
email:
|
129
31
|
- internalplatform@greensync.com.au
|
@@ -143,6 +45,7 @@ files:
|
|
143
45
|
- examples/sinatra/proc/web
|
144
46
|
- examples/sinatra/views/hello.slim
|
145
47
|
- examples/sinatra/views/layout.slim
|
48
|
+
- examples/sinatra/views/login.slim
|
146
49
|
- lib/omniauth/strategies/dex_energy.rb
|
147
50
|
- omniauth-dex-energy.gemspec
|
148
51
|
homepage: https://github.com/greensync/omniauth-dex-energy
|
@@ -152,7 +55,8 @@ metadata:
|
|
152
55
|
homepage_uri: https://github.com/greensync/omniauth-dex-energy
|
153
56
|
source_code_uri: https://github.com/greensync/omniauth-dex-energy
|
154
57
|
changelog_uri: https://github.com/greensync/omniauth-dex-energy/releases
|
155
|
-
|
58
|
+
rubygems_mfa_required: 'true'
|
59
|
+
post_install_message:
|
156
60
|
rdoc_options: []
|
157
61
|
require_paths:
|
158
62
|
- lib
|
@@ -160,15 +64,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
160
64
|
requirements:
|
161
65
|
- - ">="
|
162
66
|
- !ruby/object:Gem::Version
|
163
|
-
version: '
|
67
|
+
version: '3.1'
|
164
68
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
69
|
requirements:
|
166
70
|
- - ">="
|
167
71
|
- !ruby/object:Gem::Version
|
168
72
|
version: '0'
|
169
73
|
requirements: []
|
170
|
-
rubygems_version: 3.
|
171
|
-
signing_key:
|
74
|
+
rubygems_version: 3.5.11
|
75
|
+
signing_key:
|
172
76
|
specification_version: 4
|
173
77
|
summary: an OmniAuth strategy for authenticating with deX
|
174
78
|
test_files: []
|