omniauth-cronofy 0.10.0 → 0.14.0

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
- SHA1:
3
- metadata.gz: cad2832b9dd16bab6becf86df66186a7e851b64c
4
- data.tar.gz: a5e3c5ebe071bb7f913b0cda338ea890465ff46c
2
+ SHA256:
3
+ metadata.gz: 9a45cf338505b370434de749e7a7f79765384ca1ada75fd4916c6d6e3487d1bf
4
+ data.tar.gz: f18971e46e2cb89a08a0fa765e62ecf0c14d031016e43d6cd83a55f23a8ee932
5
5
  SHA512:
6
- metadata.gz: 8095810326d3e95d44183f1041339220cc3bd581e5d4084d24bf83788a504ad1e61d90cccc67ae29bb5dfe5328e21913a0e8f89c6e8fe2cc8b6230bf4b4ee120
7
- data.tar.gz: 34c69347289fa38479fada85fff971dcebf9a2053deea4ab6b7e38bc150e78c1f2f21f0da63d00a2fc189b4b087688c97ef2117c473e11db275dd1dae7a85546
6
+ metadata.gz: 4bd27e6c335773d273a516c93789dcada4ef8905c427cf12c9c641235d00c2529eabbac6b1408f209dfaf0f6272a27885eb9d942f4f0b883eb9f9659320c81cf
7
+ data.tar.gz: 7c707b2992990998a1ab21266a8392843e2ed8dbf576d62a06349503769510353ddbbd9d829f26bf3ab762fbff8ec83211bcb7006a31221104832675ab630d67
data/CHANGELOG.md ADDED
@@ -0,0 +1,10 @@
1
+ ## [0.14.0]
2
+
3
+ * Add support for new data centers: 'au', 'ca', 'sg', and 'uk'
4
+
5
+ ## [0.13.1]
6
+
7
+ * Loosen dependencies for OmniAuth 2.x
8
+
9
+ [0.13.1]: https://github.com/cronofy/omniauth-cronofy/releases/tag/v0.13.1
10
+ [0.14.0]: https://github.com/cronofy/omniauth-cronofy/releases/tag/v0.14.0
data/README.md CHANGED
@@ -43,11 +43,26 @@ Then to auth with Cronofy you would navigate to `/auth/cronofy`.
43
43
 
44
44
  #### Explicit Linking
45
45
 
46
- Cronofy supports [explicit linking of calendar accounts](https://www.cronofy.com/developers/api/alpha/#auth-explicit-linking) by passing a `link_token` to the auth flow. This strategy supports that token be passed as a query string parameter to the auth redirect.
46
+ Cronofy supports [explicit linking of calendar accounts](https://docs.cronofy.com/developers/api-alpha/explicit-linking/) by passing a `link_token` to the auth flow. This strategy supports that token be passed as a query string parameter to the auth redirect.
47
47
 
48
48
  ```
49
49
  /auth/cronofy?link_token=hga672376....
50
50
  ```
51
+ #### Avoid Linking
52
+
53
+ Cronofy supports [to avoid profiles to be linked](https://docs.cronofy.com/developers/api/authorization/request-authorization/#avoid_linking) by passing an `avoid_linking` param with `true` value to the auth flow.
54
+
55
+ ```
56
+ /auth/cronofy?avoid_linking=true
57
+ ```
58
+
59
+ #### Provider Name
60
+
61
+ Cronofy allows the [pre-selection of a calendar provider](https://docs.cronofy.com/developers/api/authorization/request-authorization/#provider_name) in the auth flow using the `provider_name` param with one of the documented values.
62
+
63
+ ```
64
+ /auth/cronofy?provider_name=office365
65
+ ```
51
66
 
52
67
  ### Configuration
53
68
 
@@ -123,6 +138,7 @@ Configurable options
123
138
  :provider => "cronofy_service_account",
124
139
  :uid => "ser_382374827234",
125
140
  :info => {
141
+ :common_name => "company.com",
126
142
  :domain => "company.com"
127
143
  },
128
144
  :credentials => {
@@ -141,6 +157,8 @@ Configurable options
141
157
  }
142
158
  ```
143
159
 
160
+ The `info` element may contain different elements, `domain` and/or `email` depending on the calendar service being integrated with. `common_name` is always returned.
161
+
144
162
  ## Contributing
145
163
 
146
164
  1. Fork it ( https://github.com/[my-github-username]/omniauth-cronofy/fork )
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module Cronofy
3
- VERSION = '0.10.0'.freeze
3
+ VERSION = '0.14.0'.freeze
4
4
  end
5
5
  end
@@ -1,6 +1,12 @@
1
1
  module OmniAuth
2
2
  module Strategies
3
3
  class Cronofy < CronofyBase
4
+ WHITELISTED_AUTHORIZE_PARAMS = %w{
5
+ avoid_linking
6
+ link_token
7
+ provider_name
8
+ }
9
+
4
10
  option :name, "cronofy"
5
11
 
6
12
  uid { raw_info['account_id'] }
@@ -28,11 +34,20 @@ module OmniAuth
28
34
  end
29
35
 
30
36
  def request_phase
31
- link_token = session['omniauth.params']['link_token']
32
- if link_token && !link_token.empty?
33
- options[:authorize_params] ||= {}
34
- options[:authorize_params].merge!(:link_token => link_token)
37
+ session_params = session['omniauth.params']
38
+ params = {}
39
+
40
+ WHITELISTED_AUTHORIZE_PARAMS.each do |param|
41
+ next unless session_params[param]
42
+ params[param] = session_params[param]
35
43
  end
44
+
45
+ if options[:authorize_params]
46
+ options[:authorize_params].merge!(params)
47
+ else
48
+ options[:authorize_params] = params
49
+ end
50
+
36
51
  super
37
52
  end
38
53
  end
@@ -17,7 +17,9 @@ module OmniAuth
17
17
 
18
18
  def data_center_url(type, value)
19
19
  case value.to_s
20
- when 'de'
20
+ when "", "us"
21
+ "https://#{type}.cronofy.com"
22
+ else
21
23
  "https://#{type}-#{value}.cronofy.com"
22
24
  end
23
25
  end
@@ -15,9 +15,12 @@ module OmniAuth
15
15
  uid { raw_info['sub'] }
16
16
 
17
17
  info do
18
- {
19
- :domain => raw_info['cronofy.service_account.domain'],
18
+ data = {
19
+ :common_name => raw_info['cronofy.service_account.domain'] || raw_info['cronofy.service_account.email']
20
20
  }
21
+ data[:domain] = raw_info['cronofy.service_account.domain'] if raw_info['cronofy.service_account.domain']
22
+ data[:email] = raw_info['cronofy.service_account.email'] if raw_info['cronofy.service_account.email']
23
+ data
21
24
  end
22
25
 
23
26
  def callback_url
@@ -19,8 +19,9 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_dependency "omniauth", "~> 1.2"
22
+ spec.add_dependency "omniauth", "> 1.2", "< 3"
23
23
  spec.add_dependency "omniauth-oauth2", "~> 1.3"
24
- spec.add_development_dependency "bundler", "~> 1.8"
24
+ spec.add_development_dependency "bundler", "> 1.8"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
+ spec.add_development_dependency "rspec", "> 3"
26
27
  end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-cronofy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Bird
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-09-28 00:00:00.000000000 Z
11
+ date: 2021-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">"
25
28
  - !ruby/object:Gem::Version
26
29
  version: '1.2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: omniauth-oauth2
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -42,14 +48,14 @@ dependencies:
42
48
  name: bundler
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - "~>"
51
+ - - ">"
46
52
  - !ruby/object:Gem::Version
47
53
  version: '1.8'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
- - - "~>"
58
+ - - ">"
53
59
  - !ruby/object:Gem::Version
54
60
  version: '1.8'
55
61
  - !ruby/object:Gem::Dependency
@@ -66,6 +72,20 @@ dependencies:
66
72
  - - "~>"
67
73
  - !ruby/object:Gem::Version
68
74
  version: '10.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">"
80
+ - !ruby/object:Gem::Version
81
+ version: '3'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">"
87
+ - !ruby/object:Gem::Version
88
+ version: '3'
69
89
  description: OmniAuth strategy for authenticating with Cronofy
70
90
  email:
71
91
  - support@cronofy.com
@@ -77,6 +97,7 @@ files:
77
97
  - ".gitignore"
78
98
  - ".rspec"
79
99
  - ".travis.yml"
100
+ - CHANGELOG.md
80
101
  - CODE_OF_CONDUCT.md
81
102
  - Gemfile
82
103
  - LICENSE.txt
@@ -95,7 +116,7 @@ homepage: https://github.com/cronofy/omniauth-cronofy
95
116
  licenses:
96
117
  - MIT
97
118
  metadata: {}
98
- post_install_message:
119
+ post_install_message:
99
120
  rdoc_options: []
100
121
  require_paths:
101
122
  - lib
@@ -110,9 +131,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
131
  - !ruby/object:Gem::Version
111
132
  version: '0'
112
133
  requirements: []
113
- rubyforge_project:
114
- rubygems_version: 2.6.8
115
- signing_key:
134
+ rubygems_version: 3.2.16
135
+ signing_key:
116
136
  specification_version: 4
117
137
  summary: OmniAuth strategy for authenticating with Cronofy
118
138
  test_files: []