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.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +2 -0
- data.tar.gz.sig +2 -0
- data/Gemfile +1 -1
- data/README.md +3 -3
- data/Rakefile +1 -1
- data/certs/stevenkaras.pem +21 -0
- data/examples/config.ru +2 -2
- data/lib/omniauth/mailchimp/version.rb +2 -2
- data/lib/omniauth/strategies/mailchimp.rb +28 -11
- data/omniauth-mailchimp.gemspec +9 -5
- metadata +64 -29
- metadata.gz.sig +3 -0
checksums.yaml
ADDED
@@ -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
|
checksums.yaml.gz.sig
ADDED
data.tar.gz.sig
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
#Mailchimp
|
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
@@ -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-----
|
data/examples/config.ru
CHANGED
@@ -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']['
|
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
|
@@ -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
|
-
|
23
|
-
|
24
|
-
:
|
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}/
|
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
|
|
data/omniauth-mailchimp.gemspec
CHANGED
@@ -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 = "
|
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
|
-
|
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
|
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
|
-
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
135
|
+
rubygems_version: 2.5.1
|
101
136
|
signing_key:
|
102
|
-
specification_version:
|
137
|
+
specification_version: 4
|
103
138
|
summary: MailChimp OAuth2 strategy for OmniAuth 1.0.
|
104
139
|
test_files:
|
105
140
|
- spec/omniauth/.DS_Store
|
metadata.gz.sig
ADDED