omniauth-mailchimp 1.0.3 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 303f2bd67e7d7dd1e7739c71f9ddbf284e1a6ac3
4
+ data.tar.gz: 1f22d804c9b64b73534a938657e3dfd04e53b802
5
+ SHA512:
6
+ metadata.gz: 491518089dca7ff6ba33bc2e5859f996b402bde052b23862ba4f918ca3d64b6f94f5b7cc85953b05a60fca972b9e651ae440df9a39ed6df6ccd352fbc4940b57
7
+ data.tar.gz: e981b9b25ce55b3b2fb60e79b1ec744205cb342c8ed0a20ca59105991b1703ecd3780e2fbe4b35e85ca1353c0627daea1ac20642aeee5d2abcabfccd5165a00e
@@ -0,0 +1,2 @@
1
+ uG��GV��%�jAM��w����|��[���2~������K�� �(E.���`PK��%������������ފ/�]�
2
+ e^نS����ɶ�:U���FW�]4;"R|�?��J1#����v�\>��U�CL��':?�;קy :^�傕7i�O
@@ -0,0 +1,2 @@
1
+ .��$�L��B?���]hF=��� �`֨�r?�B������׀8%2�,_J'=� F7����7�
2
+ l��익3����W^�l����]�s$H���I��0oǟm(w����i��_��.N������)��������x���"�+��>v�[@:� ��B�dJ�M'V:.j������ʙ�gd0� �>k �#��%X�!�xe<h�ۊ�5���m��j�g+���/t(T����2 (�':� �29�5
data/Gemfile CHANGED
@@ -4,4 +4,4 @@ gemspec
4
4
 
5
5
  group :example do
6
6
  gem 'sinatra'
7
- end
7
+ end
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
- #Mailchimp Strategie
1
+ # Mailchimp Strategy
2
2
 
3
3
  MailChimp OAuth2 strategy for OmniAuth 1.0
4
4
 
5
- #License
5
+ # License
6
6
 
7
7
  Copyright (c) 2011 Florian Mhun
8
8
 
@@ -10,4 +10,4 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
10
10
 
11
11
  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
12
12
 
13
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile CHANGED
@@ -4,4 +4,4 @@ Bundler::GemHelper.install_tasks
4
4
  require 'rspec/core/rake_task'
5
5
  RSpec::Core::RakeTask.new(:spec)
6
6
 
7
- task :default => :spec
7
+ task :default => :spec
@@ -0,0 +1,21 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDgDCCAmigAwIBAgIBATANBgkqhkiG9w0BAQUFADBDMRUwEwYDVQQDDAxzdGV2
3
+ ZW4ua2FyYXMxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkW
4
+ A2NvbTAeFw0xNzAzMjIxMjM2MzhaFw0xODAzMjIxMjM2MzhaMEMxFTATBgNVBAMM
5
+ DHN0ZXZlbi5rYXJhczEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPy
6
+ LGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwNvd+9hD
7
+ d3hCLR8yi7YicZKkIo9GjdgESgp5L1fa6HaUTsawprL/wsoJuTQPOdC6m+gNqQj4
8
+ CZsIeOSecj/jrF+aMy2MzD2eA6oNz3f1RkKbRz36QFSZmcFzveVXa1H2dsV8SQEB
9
+ 2aG6AkfmO9SlcLAaO+e+19l8K3WEr0gCUtALT3OtbII5jFQfpGxcqfzZK+rPYco8
10
+ JOuDs5+fnFm5flMYbu5pdwPLKlYvhnkom6fRAjKFnU/AwLQ3xOpPR7x7bC481j/I
11
+ g3BpKsFq1+8DnykqG9npo5T0XT0H7XsI2oZYbgjjEPC91+Lsgdol9xfzA+NyjBNo
12
+ 3nT6nCJBBjGt7wIDAQABo38wfTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
13
+ HQ4EFgQU83CQrdgzuAmlxpCXBoi0Q0blOogwIQYDVR0RBBowGIEWc3RldmVuLmth
14
+ cmFzQGdtYWlsLmNvbTAhBgNVHRIEGjAYgRZzdGV2ZW4ua2FyYXNAZ21haWwuY29t
15
+ MA0GCSqGSIb3DQEBBQUAA4IBAQAEJBEF4TjjSz52HQFmfxpjChstFytzEuSDuvSr
16
+ N0oXBrtxuV7gwKSfmPer8Oo4psOEA7qbtzuTjaHkVN6nIh5s5/Cey8kmrJO/ybrt
17
+ 2VDYNlIA/gohUpdg7Tt82YW1fhAS46hoiDIUxNJAP22I23vEom4ZZzePo/5RJJ8/
18
+ d6I+0fQQAVuBhadvMMnAwu7QQFkZdP2fhlnouvE3OunCGqJggd3ltNzjPyi528YR
19
+ r8TqG91/X7jeMHROZDeQrcMHOaiCTdEfQkJG408v2715v8spl4AxywNMBltrK4ju
20
+ M6Qptda9mbBOF3gdr/aui0aKIpXp/b+samKv4LbOhEX8af5C
21
+ -----END CERTIFICATE-----
@@ -20,7 +20,7 @@ end
20
20
  get '/auth/:provider/callback' do
21
21
  content_type 'text/plain'
22
22
  token = request.env['omniauth.auth']['credentials']['token']
23
- dc = request.env['omniauth.auth']['extra']['user_hash']['dc']
23
+ dc = request.env['omniauth.auth']['extra']['metadata']['dc']
24
24
  "Standard API key is #{token}-#{dc}".inspect rescue "No data"
25
25
  end
26
26
 
@@ -33,4 +33,4 @@ use Rack::Session::Cookie, :secret => ENV['RACK_COOKIE_SECRET']
33
33
 
34
34
  use OmniAuth::Builder do
35
35
  provider :mailchimp, ENV["MC_KEY"], ENV["MC_SECRET"]
36
- end
36
+ end
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module Mailchimp
3
- VERSION = "1.0.3"
3
+ VERSION = "1.2.0"
4
4
  end
5
- end
5
+ end
@@ -4,31 +4,40 @@ require 'multi_json'
4
4
  module OmniAuth
5
5
  module Strategies
6
6
  class Mailchimp < OmniAuth::Strategies::OAuth2
7
-
7
+
8
8
  option :name, "mailchimp"
9
-
9
+
10
10
  option :client_options, {
11
11
  :site => "https://login.mailchimp.com",
12
12
  :authorize_url => '/oauth2/authorize',
13
13
  :token_url => '/oauth2/token'
14
14
  }
15
15
 
16
+ def request_phase
17
+ req = Rack::Request.new(@env)
18
+ options.update(req.params)
19
+ super
20
+ end
21
+
16
22
  uid {
17
23
  raw_info["user_id"]
18
24
  }
19
25
 
20
26
  info do
21
- {
22
- :first_name => raw_info["contact"]["fname"],
23
- :last_name => raw_info["contact"]["lname"],
24
- :email => raw_info["contact"]["email"]
27
+ contact = raw_info["contact"] || {}
28
+
29
+ {
30
+ :first_name => contact["fname"],
31
+ :last_name => contact["lname"],
32
+ :email => contact["email"]
25
33
  }
26
34
  end
27
-
28
- extra do
29
- {
35
+
36
+ extra do
37
+ {
30
38
  :metadata => user_data,
31
- :raw_info => raw_info
39
+ :raw_info => raw_info,
40
+ :api_token_with_dc => "#{@access_token.token}-#{user_data['dc']}",
32
41
  }
33
42
  end
34
43
 
@@ -37,7 +46,15 @@ module OmniAuth
37
46
  data = user_data
38
47
  endpoint = data["api_endpoint"]
39
48
  apikey = "#{@access_token.token}-#{data['dc']}"
40
- @access_token.get("#{endpoint}/1.3/?method=getAccountDetails&apikey=#{apikey}").parsed
49
+ response = @access_token.get("#{endpoint}/2.0/helper/account-details?apikey=#{apikey}").parsed
50
+ if response["error"]
51
+ case response["code"]
52
+ when 109
53
+ fail!(:invalid_credentials, response["error"])
54
+ end
55
+ else
56
+ response
57
+ end
41
58
  end
42
59
  end
43
60
 
@@ -4,11 +4,11 @@ require File.expand_path('../lib/omniauth/mailchimp/version', __FILE__)
4
4
  Gem::Specification.new do |gem|
5
5
  gem.add_dependency 'omniauth', '~> 1.0'
6
6
 
7
- gem.authors = ["Florian Mhun"]
8
- gem.email = ["florian.mhun@gmail.com"]
7
+ gem.authors = ["Steven Karas", "Florian Mhun"]
8
+ gem.email = ["steven.karas@gmail.com", "florian.mhun@gmail.com"]
9
9
  gem.description = %q{MailChimp OAuth2 strategy for OmniAuth 1.0}
10
10
  gem.summary = %q{MailChimp OAuth2 strategy for OmniAuth 1.0.}
11
- gem.homepage = "http://floomoon.org/project/omniauth-mailchimp"
11
+ gem.homepage = "https://github.com/stevenkaras/omniauth-mailchimp"
12
12
 
13
13
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
14
14
  gem.files = `git ls-files`.split("\n")
@@ -20,5 +20,9 @@ Gem::Specification.new do |gem|
20
20
  gem.add_runtime_dependency 'omniauth-oauth2'
21
21
 
22
22
  gem.add_development_dependency 'rspec', '~> 2.6.0'
23
- gem.add_development_dependency 'rake'
24
- end
23
+ gem.add_development_dependency 'rake', '< 11.0'
24
+
25
+ gem.cert_chain = ['certs/stevenkaras.pem']
26
+ gem.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $0 =~ /gem\z/
27
+
28
+ end
metadata CHANGED
@@ -1,72 +1,108 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-mailchimp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
5
- prerelease:
4
+ version: 1.2.0
6
5
  platform: ruby
7
6
  authors:
7
+ - Steven Karas
8
8
  - Florian Mhun
9
9
  autorequire:
10
10
  bindir: bin
11
- cert_chain: []
12
- date: 2012-02-27 00:00:00.000000000Z
11
+ cert_chain:
12
+ - |
13
+ -----BEGIN CERTIFICATE-----
14
+ MIIDgDCCAmigAwIBAgIBATANBgkqhkiG9w0BAQUFADBDMRUwEwYDVQQDDAxzdGV2
15
+ ZW4ua2FyYXMxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkW
16
+ A2NvbTAeFw0xNzAzMjIxMjM2MzhaFw0xODAzMjIxMjM2MzhaMEMxFTATBgNVBAMM
17
+ DHN0ZXZlbi5rYXJhczEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPy
18
+ LGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwNvd+9hD
19
+ d3hCLR8yi7YicZKkIo9GjdgESgp5L1fa6HaUTsawprL/wsoJuTQPOdC6m+gNqQj4
20
+ CZsIeOSecj/jrF+aMy2MzD2eA6oNz3f1RkKbRz36QFSZmcFzveVXa1H2dsV8SQEB
21
+ 2aG6AkfmO9SlcLAaO+e+19l8K3WEr0gCUtALT3OtbII5jFQfpGxcqfzZK+rPYco8
22
+ JOuDs5+fnFm5flMYbu5pdwPLKlYvhnkom6fRAjKFnU/AwLQ3xOpPR7x7bC481j/I
23
+ g3BpKsFq1+8DnykqG9npo5T0XT0H7XsI2oZYbgjjEPC91+Lsgdol9xfzA+NyjBNo
24
+ 3nT6nCJBBjGt7wIDAQABo38wfTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
25
+ HQ4EFgQU83CQrdgzuAmlxpCXBoi0Q0blOogwIQYDVR0RBBowGIEWc3RldmVuLmth
26
+ cmFzQGdtYWlsLmNvbTAhBgNVHRIEGjAYgRZzdGV2ZW4ua2FyYXNAZ21haWwuY29t
27
+ MA0GCSqGSIb3DQEBBQUAA4IBAQAEJBEF4TjjSz52HQFmfxpjChstFytzEuSDuvSr
28
+ N0oXBrtxuV7gwKSfmPer8Oo4psOEA7qbtzuTjaHkVN6nIh5s5/Cey8kmrJO/ybrt
29
+ 2VDYNlIA/gohUpdg7Tt82YW1fhAS46hoiDIUxNJAP22I23vEom4ZZzePo/5RJJ8/
30
+ d6I+0fQQAVuBhadvMMnAwu7QQFkZdP2fhlnouvE3OunCGqJggd3ltNzjPyi528YR
31
+ r8TqG91/X7jeMHROZDeQrcMHOaiCTdEfQkJG408v2715v8spl4AxywNMBltrK4ju
32
+ M6Qptda9mbBOF3gdr/aui0aKIpXp/b+samKv4LbOhEX8af5C
33
+ -----END CERTIFICATE-----
34
+ date: 2017-03-24 00:00:00.000000000 Z
13
35
  dependencies:
14
36
  - !ruby/object:Gem::Dependency
15
37
  name: omniauth
16
- requirement: &70173533935740 !ruby/object:Gem::Requirement
17
- none: false
38
+ requirement: !ruby/object:Gem::Requirement
18
39
  requirements:
19
- - - ~>
40
+ - - "~>"
20
41
  - !ruby/object:Gem::Version
21
42
  version: '1.0'
22
43
  type: :runtime
23
44
  prerelease: false
24
- version_requirements: *70173533935740
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.0'
25
50
  - !ruby/object:Gem::Dependency
26
51
  name: omniauth-oauth2
27
- requirement: &70173533932860 !ruby/object:Gem::Requirement
28
- none: false
52
+ requirement: !ruby/object:Gem::Requirement
29
53
  requirements:
30
- - - ! '>='
54
+ - - ">="
31
55
  - !ruby/object:Gem::Version
32
56
  version: '0'
33
57
  type: :runtime
34
58
  prerelease: false
35
- version_requirements: *70173533932860
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
36
64
  - !ruby/object:Gem::Dependency
37
65
  name: rspec
38
- requirement: &70173533903520 !ruby/object:Gem::Requirement
39
- none: false
66
+ requirement: !ruby/object:Gem::Requirement
40
67
  requirements:
41
- - - ~>
68
+ - - "~>"
42
69
  - !ruby/object:Gem::Version
43
70
  version: 2.6.0
44
71
  type: :development
45
72
  prerelease: false
46
- version_requirements: *70173533903520
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: 2.6.0
47
78
  - !ruby/object:Gem::Dependency
48
79
  name: rake
49
- requirement: &70173533903100 !ruby/object:Gem::Requirement
50
- none: false
80
+ requirement: !ruby/object:Gem::Requirement
51
81
  requirements:
52
- - - ! '>='
82
+ - - "<"
53
83
  - !ruby/object:Gem::Version
54
- version: '0'
84
+ version: '11.0'
55
85
  type: :development
56
86
  prerelease: false
57
- version_requirements: *70173533903100
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "<"
90
+ - !ruby/object:Gem::Version
91
+ version: '11.0'
58
92
  description: MailChimp OAuth2 strategy for OmniAuth 1.0
59
93
  email:
94
+ - steven.karas@gmail.com
60
95
  - florian.mhun@gmail.com
61
96
  executables: []
62
97
  extensions: []
63
98
  extra_rdoc_files: []
64
99
  files:
65
- - .gitignore
100
+ - ".gitignore"
66
101
  - Gemfile
67
102
  - LICENSE
68
103
  - README.md
69
104
  - Rakefile
105
+ - certs/stevenkaras.pem
70
106
  - examples/config.ru
71
107
  - lib/omniauth-mailchimp.rb
72
108
  - lib/omniauth/mailchimp.rb
@@ -77,29 +113,28 @@ files:
77
113
  - spec/omniauth/strategies/mailchimp_spec.rb
78
114
  - spec/spec_helper.rb
79
115
  - spec/support/shared_examples.rb
80
- homepage: http://floomoon.org/project/omniauth-mailchimp
116
+ homepage: https://github.com/stevenkaras/omniauth-mailchimp
81
117
  licenses: []
118
+ metadata: {}
82
119
  post_install_message:
83
120
  rdoc_options: []
84
121
  require_paths:
85
122
  - lib
86
123
  required_ruby_version: !ruby/object:Gem::Requirement
87
- none: false
88
124
  requirements:
89
- - - ! '>='
125
+ - - ">="
90
126
  - !ruby/object:Gem::Version
91
127
  version: '0'
92
128
  required_rubygems_version: !ruby/object:Gem::Requirement
93
- none: false
94
129
  requirements:
95
- - - ! '>='
130
+ - - ">="
96
131
  - !ruby/object:Gem::Version
97
132
  version: '0'
98
133
  requirements: []
99
134
  rubyforge_project:
100
- rubygems_version: 1.8.17
135
+ rubygems_version: 2.5.1
101
136
  signing_key:
102
- specification_version: 3
137
+ specification_version: 4
103
138
  summary: MailChimp OAuth2 strategy for OmniAuth 1.0.
104
139
  test_files:
105
140
  - spec/omniauth/.DS_Store
@@ -0,0 +1,3 @@
1
+ ��V���P"k/W��. _4����y��\�ڭ���ب�
2
+ ���=i�S�Ϩ�s�HMسa�*.��%Ej�3�Z
3
+ .�w4{��0�+&9�+*���-��;�����:�%�7O���q���6^8y�|��4#�}"ɹ3��o��ˍ+��U9!P��o��.�a~wS�'u$:hK9/� �)C��of���