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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: db21340318e6c6ec779b2ec49ceb443b2081d28d1f8a00f93609cf586ae99214
4
- data.tar.gz: a173e8118f3c4f21d144b01ca4abdcce995b043ac3a50a2af7b0f7af41ed5c59
3
+ metadata.gz: e3b098d118fe551bc1fd8904455175e21ac5196e5463135347a910f97cb46523
4
+ data.tar.gz: fafa972c321517c6cdd4a7f5a5082ed1ddc495b9442149b8ecbe80b57928fdaa
5
5
  SHA512:
6
- metadata.gz: 15ee58797637d3598e51a380bb51f8e5fda5027f6fac39a5cd3648da7422b11e640e0413bc6ff8903a1490bc97b2e0734ab013b6dff05427961dc654645867e4
7
- data.tar.gz: ce2d105652dae81d7146be104b2648ce6476c51941cf16f38c037c161b6ecaeed487da52161bb820f9487ba122fa5975cc264dbdf80c70648bdbcc8b7355f2e7
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
  ![CI](https://github.com/greensync/omniauth-dex-energy/workflows/CI/badge.svg)
4
+ [![Gem Version](https://badge.fury.io/rb/omniauth-dex-energy.png)](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
- $ bundle install
30
+ ```sh
31
+ bundle install
32
+ ```
30
33
 
31
34
  Or install it yourself as:
32
35
 
33
- $ gem install omniauth-dex-energy
36
+ ```sh
37
+ gem install omniauth-dex-energy
38
+ ```
34
39
 
35
40
  ## Usage
36
41
 
data/bin/publish-gem CHANGED
@@ -4,5 +4,6 @@ set -Eeuo pipefail
4
4
 
5
5
  version=$(git describe --exact-match HEAD)
6
6
 
7
+ git push origin ${version}
7
8
  gem build omniauth-dex-energy
8
9
  gem push omniauth-dex-energy-${version}.gem
@@ -1,3 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
1
5
  gem 'omniauth-dex-energy'
2
6
  gem 'puma'
3
7
  gem 'sinatra'
@@ -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 (3.6.0)
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 (1.1.0)
12
+ mustermann (2.0.2)
12
13
  ruby2_keywords (~> 0.0.1)
13
- nio4r (2.5.2)
14
- oauth2 (1.4.3)
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.0)
21
- hashie (>= 3.4.6, < 3.7.0)
21
+ omniauth (1.9.2)
22
+ hashie (>= 3.4.6)
22
23
  rack (>= 1.6.2, < 3)
23
- omniauth-dex-energy (0.1.0)
24
- omniauth-oauth2 (~> 1.6.0)
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 (4.3.1)
29
+ puma (6.3.1)
29
30
  nio4r (~> 2.0)
30
- rack (2.2.2)
31
- rack-protection (2.0.8.1)
31
+ rack (2.2.8)
32
+ rack-protection (2.2.3)
32
33
  rack
33
- ruby2_keywords (0.0.1)
34
- sinatra (2.0.8.1)
35
- mustermann (~> 1.0)
36
- rack (~> 2.0)
37
- rack-protection (= 2.0.8.1)
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.10)
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.2
57
+ 2.1.4
@@ -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
- # Redirect the user to the endpoint provided by OmniAuth.
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 - but not in the Identity Provider.
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
- redirect request.referrer
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
@@ -5,4 +5,4 @@ ul
5
5
  - if @user
6
6
  a href="/logout" Log out
7
7
  - else
8
- a href="/login" Log in
8
+ a href="/login" Go to login page
@@ -0,0 +1,6 @@
1
+ p Click the button below to login
2
+
3
+ form action="/auth/dex_energy" method="post"
4
+ input type="hidden" name="authenticity_token" value="#{session[:csrf]}"
5
+ input type="hidden" name="origin" value="#{request.referrer}"
6
+ input type="submit" value="Login"
@@ -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: 'https://who.dex.energy', auth_scheme: :basic_auth
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
@@ -1,8 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- gem_version = `git describe --exact-match HEAD`.strip
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.6'
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.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: 2020-02-28 00:00:00.000000000 Z
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.6'
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.6'
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
- post_install_message:
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: '0'
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.0.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: []