omniauth-aitu-passport 0.1.19 → 0.1.22

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: 19734302ba90f22720d1ac98ca0326957c9b14f8869b814a4c4207edb1525006
4
- data.tar.gz: 0c86d74212ba4beec518bd9416e93f328e56049714294cc8b3a006e16a7aec7f
3
+ metadata.gz: e92c64e77c4f3de63c2aff68dcbadfe6dda5156dc980ceffab4237a7724b59da
4
+ data.tar.gz: c6ad628463a5f8b94fd9d5aed018a8a0a7e2ffdcbf1e7a65be7ed7e8ae47c684
5
5
  SHA512:
6
- metadata.gz: b9ba98957c9adaee2eebbf1c9134cabad788e8a40bffeb1bc7b633b36a21d2aac323ce12d26a0295b0702e6f77ce8dbdcef614e5fb22f59c830f8ce68b1b401f
7
- data.tar.gz: b5d6e28853356a1ca56031ddea26cf8c69ea3d7958d0cd9d2dcbaf7e5ff5abc91cc3951230bf8c424bd9119ec8395a42a629ef5d46acb76de8574b3bfd1b280a
6
+ metadata.gz: 476c648beb600866d42140573a23df270c6487b4088b86456f963a90b1b5443e923e3a5169c81d96d2deb9589e000df85be6123ed7bfd3f96a2e0b0c1373f3ac
7
+ data.tar.gz: 0e4a5f660903eab42f3392705737b1478c4e9a88572f8e3cc80e3635e9daacf48ce25b7d5d5150a1f483fd0e4eaa880e1a3e37ef79b3366b06a11e544dd14571
data/CHANGELOG.md CHANGED
@@ -1,15 +1,34 @@
1
- # v 0.1.6
1
+ # v 0.1.21
2
+ Added:
3
+ - session_id added to auth link according to
4
+ https://docs.passport.aitu.io/#tag/Poluchenie-identifikatora-oauth-sessii
5
+ - PASSPORT_STAGING env option
2
6
 
3
- Added:
4
- - Scope filtered to avoid malformed_scope errors
7
+ Removed:
8
+ - setup binaries
5
9
 
6
- Removed:
7
- - None
10
+ # v 0.1.9
11
+ Fixed:
12
+ - possible NoMethod error in guard clause
13
+
14
+ Added:
15
+ - Base test cases
16
+ - Rubocop inspections
8
17
 
9
18
  # v 0.1.8
10
19
 
11
20
  Added:
12
21
  - redirect_uri accepted once in :options
13
22
 
23
+ Removed:
24
+ - None
25
+
26
+
27
+ # v 0.1.6
28
+
29
+ Added:
30
+ - Scope filtered to avoid malformed_scope errors
31
+
14
32
  Removed:
15
- - None
33
+ - None
34
+
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- omniauth-aitu-passport (0.1.19)
4
+ omniauth-aitu-passport (0.1.21)
5
5
  oauth2 (~> 1.4.7)
6
6
  omniauth (~> 1)
7
7
  omniauth-oauth2 (~> 1)
data/README.md CHANGED
@@ -43,12 +43,15 @@ Rails.application.config.middleware.use OmniAuth::Builder do
43
43
  provider :aitu_passport,
44
44
  ENV['PASSPORT_KEY'],
45
45
  ENV['PASSPORT_SECRET'],
46
- {
46
+ {
47
47
  scope: 'phone first_name middle_name last_name gender openid',
48
48
  response_type: 'code',
49
49
  client_id: ENV['PASSPORT_KEY'],
50
50
  provider_ignores_state: Rails.env == 'production' ? false : true,
51
- redirect_uri: ENV['PASSPORT_REDIRECT_URI']
51
+ redirect_uri: ENV['PASSPORT_REDIRECT_URI'],
52
+ token_params: {
53
+ redirect_uri: ENV['PASSPORT_REDIRECT_URI']
54
+ }
52
55
  }
53
56
  end
54
57
 
@@ -57,6 +60,17 @@ OmniAuth.config.logger = Rails.logger
57
60
  ```
58
61
  using the keys you receive and URI you provided when registered the app
59
62
 
63
+ Please note :redirect_uri param under :token_params is mandatory option.
64
+
65
+ Also, you can use
66
+
67
+ ```yaml
68
+ ENV['PASSPORT_STAGING']: true
69
+ ```
70
+
71
+ option in your environment to send auth requests to staging AituPassport server,
72
+ e.g. https://passport.stage.supreme-team.tech
73
+
60
74
  4. Use it in your sessions controller on your own, assuming the following envs to store the data you need
61
75
 
62
76
  ```ruby
@@ -70,8 +84,6 @@ using the keys you receive and URI you provided when registered the app
70
84
 
71
85
  ## Development
72
86
 
73
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
74
-
75
87
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
76
88
 
77
89
  ## Contributing
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OmniAuth
4
4
  module AituPassport
5
- VERSION = '0.1.19'
5
+ VERSION = '0.1.22'
6
6
  end
7
7
  end
@@ -12,12 +12,13 @@ module OmniAuth
12
12
 
13
13
  option :client_options, {
14
14
  site: 'https://passport.aitu.io',
15
- token_url: '/oauth2/token',
15
+ token_url: '/api/v1/oauth/token',
16
16
  authorize_url: '/oauth2/auth',
17
+ session_url: '/api/v1/oauth/session',
17
18
  auth_scheme: :basic_auth
18
19
  }
19
20
 
20
- option :pkce, false
21
+ option :pkce, true
21
22
 
22
23
  AVAILABLE_SCOPE_OPTIONS = %w[
23
24
  openid
@@ -67,6 +68,8 @@ module OmniAuth
67
68
  super.tap do
68
69
  # Raising up an error if redirect_uri is missing
69
70
  raise ArgumentError, 'Wrong options: redirect_uri option is missing.' unless options[:redirect_uri]
71
+
72
+ options[:client_options][:site] = 'https://passport.stage.supreme-team.tech' if ENV['PASSPORT_STAGING']
70
73
  end
71
74
  end
72
75
 
@@ -75,6 +78,7 @@ module OmniAuth
75
78
  super.tap do |params|
76
79
  params[:scope] = filter_scope(params)
77
80
  params[:redirect_uri] = options[:redirect_uri]
81
+ params[:session_id] = get_session_id
78
82
  end
79
83
  end
80
84
 
@@ -84,6 +88,21 @@ module OmniAuth
84
88
 
85
89
  private
86
90
 
91
+ def get_session_id
92
+ params = ::OAuth2::Authenticator.new(client.id, client.secret, client.options[:auth_scheme]).apply({})
93
+ res = client.request(:post, session_url, params)
94
+ case res.status
95
+ when 200
96
+ JSON.parse(res.body).dig('sessionId')
97
+ else
98
+ raise NoSessionError, 'No session ID received, sorry.'
99
+ end
100
+ end
101
+
102
+ def session_url
103
+ options[:client_options][:site] + options[:client_options][:session_url]
104
+ end
105
+
87
106
  def filter_scope(params)
88
107
  return DEFAULT_SCOPE unless params[:scope]
89
108
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-aitu-passport
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.19
4
+ version: 0.1.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yaroslav Shevchenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-15 00:00:00.000000000 Z
11
+ date: 2022-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oauth2
@@ -112,8 +112,6 @@ files:
112
112
  - LICENSE.txt
113
113
  - README.md
114
114
  - Rakefile
115
- - bin/console
116
- - bin/setup
117
115
  - lib/omniauth-aitu-passport.rb
118
116
  - lib/omniauth/aitu_passport.rb
119
117
  - lib/omniauth/aitu_passport/version.rb
data/bin/console DELETED
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'bundler/setup'
5
- require 'omniauth/aitu/passport'
6
-
7
- # You can add fixtures and/or initialization code here to make experimenting
8
- # with your gem easier. You can also use a different console, if you like.
9
-
10
- # (If you use this, don't forget to add pry to your Gemfile!)
11
- # require "pry"
12
- # Pry.start
13
-
14
- require 'irb'
15
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here