omniauth-fortnox-oauth2 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc88bbc3ec3e4e3c3cb8295286105d6c26e8eea0da74697763ade9262710c12c
4
- data.tar.gz: 286a50a0942c9a610e50b004df391fe20992c45147dda0e556553581400c136c
3
+ metadata.gz: e867e1c0804b077222e57ec5d0bb96da3fcc642047b435949b65783dcec3e177
4
+ data.tar.gz: 465953deef868451d8670e3056d99a8ce38c8bb1ba5904dd2d5ec05cf3ab57ab
5
5
  SHA512:
6
- metadata.gz: 79ebcfb3f9663767d1638327bd5bc8bc0eb3267a6369254a1da7af69da3c935f65c92bed435b2df1a6e198ec5a0a4c1c70153565133489cac58f9819162b1277
7
- data.tar.gz: 91e433a2cdf9f18fa255131f832b01a0d8073d5b0cfb494dade05d8e66b4d7a07207e8555ade8962e4ebb61e1862f143ecf2782e816f41287110f3a531c0c97c
6
+ metadata.gz: c38c7b304242bcf94d265e29a5c42e59e223ccaa790105eddc0b09b63190768fa61eb99a9798ea26d5e83180f91a1a1cc4c31b425f1191ed1923ee9bd59f6260
7
+ data.tar.gz: 43a72b8c8ce885db697f5a8bf0702a4549fe28b956f3f55e3bea76965168acbbfaf3ad53ec011235b5f347c097d9d73aa74233758eac5d1567234130d4bc85e3
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- omniauth-fortnox-oauth2 (0.0.2)
4
+ omniauth-fortnox-oauth2 (0.0.3)
5
5
  omniauth-oauth2
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -79,6 +79,17 @@ You can also configure the `client_options` by passing in any of the following s
79
79
 
80
80
  * `token_method`: Override the token_method used by the gem, default `:post`.
81
81
 
82
+ ## Note
83
+ Currently the only way to support multiple redirect uri's in Fortnox is to add them sperated using ` ` (space). This will work for the initial request to get the authorization code.
84
+ When trading the code for a token the `redirect_uri` will be matched using the string used in Fortnox developer portal. This is beeing changed but for now the workaround is to pass that string.
85
+ This can here be passed as an option `fortnox_redirect_uri`, it can contain one or multiple uri's.
86
+ This will need to exactly match the string in Fortnox.
87
+
88
+ For example:
89
+ ```ruby
90
+ env['omniauth.strategy'].options[:fortnox_redirect_uri] = 'https://test.test/callback https://second-test.test/callback'
91
+ ```
92
+
82
93
  ## Auth Hash
83
94
 
84
95
  Here's an example of an authentication hash available in the callback by accessing `request.env['omniauth.auth']`:
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Omniauth
4
4
  module FortnoxOAuth2
5
- VERSION = '0.0.2'
5
+ VERSION = '0.0.3'
6
6
  end
7
7
  end
@@ -20,6 +20,7 @@ module OmniAuth
20
20
 
21
21
  option :authorize_options, %i[scope state account_type]
22
22
  option :provider_ignores_state, false
23
+ option :fortnox_redirect_uri, nil
23
24
 
24
25
  uid { raw_info['CompanyInformation']['OrganizationNumber'] }
25
26
 
@@ -66,11 +67,21 @@ module OmniAuth
66
67
  options[:callback_url] || (full_host + script_name + callback_path)
67
68
  end
68
69
 
70
+ # Currently the only way to support multiple redirect uri's in Fortnox
71
+ # is to add them sperated using ` ` (space). This will work for the
72
+ # initial request to get the authorization code.
73
+ # When trading the code for a token the `redirect_uri` will be matched
74
+ # using the string entered in Fortnox developer portal. This is beeing
75
+ # changed but for now the workaround is to pass that string.
76
+ # It can contain one or multiple uri's.
77
+ #
69
78
  def build_access_token
79
+ redirect_uri = options.fortnox_redirect_uri || callback_url
70
80
  verifier = request.params['code']
81
+
71
82
  client.auth_code.get_token(
72
83
  verifier,
73
- { redirect_uri: callback_url }.merge(token_params.to_hash(symbolize_keys: true)),
84
+ { redirect_uri: redirect_uri }.merge(token_params.to_hash(symbolize_keys: true)),
74
85
  deep_symbolize(options.auth_token_params)
75
86
  )
76
87
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-fortnox-oauth2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - svenne87
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-03 00:00:00.000000000 Z
11
+ date: 2023-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth-oauth2