omniauth-sberbusiness 1.0.0 → 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: 937ea6016cb610ed9d296dc0f5f4938198c8b4ca192a1b29c53f5e1d208315af
4
- data.tar.gz: ef2882ea928b375ef21196f8d0a6fb628d95a005b385dc2f72e55097173144bc
3
+ metadata.gz: c05a0ee0ddbe06d693dfbe37ec6593f34e632e2dc1ca5e5ffa2332178ff30e1c
4
+ data.tar.gz: a78e54c103d5ec0c34173a4724d272aa33d6fe57b2b52a97d4c77b87fac68832
5
5
  SHA512:
6
- metadata.gz: cbc8e94db10462e42bffef58a0758eb9dbabf9a681faf56b0db9d782984bbc05974ddc50e64621acba339075e557a80eca1b7115983d4e28a1e375057bf43724
7
- data.tar.gz: 647b58e4b718efcbd2fd3f32a45f99ab3cf2a28aa49b4bd8eae7fb29720a5ea13934cf4583b7f8189ffd55a8f621583dee83446cb373e4f5f645bd88f3db1744
6
+ metadata.gz: 5cf4a6ba3cf7a122b9ef60e9f243b7f072526848d8b9dffaeb4d15796c27b1e7ed3954d89dd3d3299f8e19da0585b4708af024fcd550104485038f451942268b
7
+ data.tar.gz: e44d7355147d8ea5d1d06f7b91c98c4e5bd68867d0013d357c506873704dbb467fec38e49bc55fc3b71bbe7b46dd0e3b8ca9d79118820818384cd1193b0e3668
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OmniAuth
4
4
  module Sberbusiness
5
- VERSION = '1.0.0'
5
+ VERSION = '1.0.1'
6
6
  end
7
7
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+ # ecoding: utf-8
2
3
 
3
4
  require 'omniauth/strategies/oauth2'
4
5
  require 'securerandom'
@@ -60,13 +61,17 @@ module OmniAuth
60
61
  state = request.params['state']
61
62
  result = access_token.get('/ic/sso/api/v2/oauth/user-info', headers: info_headers).body
62
63
  # декодируем ответ:
63
- decoded_data = result.split('.').map { |code| JSON.parse(Base64.decode64(code)) rescue {}}
64
+ decoded_data = result.split('.').map { |code| decrypt(code) rescue {}}
64
65
  result = decoded_data.reduce(:merge)
65
66
  result['state'] = state
66
67
  result
67
68
  end
68
69
  end
69
70
 
71
+ def decrypt(msg)
72
+ JSON.parse(Base64.urlsafe_decode64(msg).force_encoding(Encoding::UTF_8))
73
+ end
74
+
70
75
  # https://developer.sberbank.ru/doc/v1/sberbank-id/authcodereq
71
76
  def authorize_params
72
77
  super.tap do |params|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-sberbusiness
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergei Baksheev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-16 00:00:00.000000000 Z
11
+ date: 2021-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth-oauth2
@@ -65,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
65
  - !ruby/object:Gem::Version
66
66
  version: '0'
67
67
  requirements: []
68
- rubygems_version: 3.2.19
68
+ rubygems_version: 3.1.2
69
69
  signing_key:
70
70
  specification_version: 4
71
71
  summary: Sberbusiness OAuth2 Strategy for OmniAuth