adp-connection 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +1 -1
- data/README.md +1 -1
- data/adp-connection.gemspec +2 -2
- data/democlient/.gitignore +2 -0
- data/democlient/config/authorizationcode_config.yml +1 -0
- data/democlient/config/certs/apiclient_iat.pem +31 -31
- data/democlient/config/clientcredential_config.yml +1 -0
- data/lib/adp/api_connection.rb +12 -10
- data/lib/adp/api_connection_factory.rb +1 -1
- data/lib/adp/connection/version.rb +1 -1
- data/lib/adp/connection_configuration.rb +2 -0
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d7d80261e003e2e21e9f369f79101c3fc6b6d1628a7413ce6884fabd103191fd
|
4
|
+
data.tar.gz: fd30b254e7cbdc4cb39dab660299f2d79c151c9a566770a24c5f53d398ca38bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e930cde09e100df383c72110f20a13a8a8013378dfa174c2fd63fb930ffab64d9037cb87c4cbb5c5bb5a77f212f85013877048c63bd9a3fcff71ff2110d3583d
|
7
|
+
data.tar.gz: 3f2b702c323b1ee2f5dada09cb59831a9478443ffb1c8f2680557810ed141f385da97b2df0f8ecc6bad57735ef2aea5520bab3c13647a9048cf28d39b0432a01
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
The ADP Client Connection Library is intended to simplify and aid the process of authenticating, authorizing and connecting to the ADP Marketplace API Gateway. The Library includes a sample application that can be run out-of-the-box to connect to the ADP Marketplace API **test** gateway.
|
4
4
|
|
5
5
|
### Version
|
6
|
-
0.1.
|
6
|
+
0.1.5
|
7
7
|
|
8
8
|
|
9
9
|
## Installation
|
data/adp-connection.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'adp/connection/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "adp-connection"
|
8
8
|
spec.version = Adp::Connection::VERSION
|
9
|
-
spec.authors = ["
|
10
|
-
spec.email = ["
|
9
|
+
spec.authors = ["ADP Marketplace"]
|
10
|
+
spec.email = ["richard.smith@adp.com"]
|
11
11
|
# spec.owners = ["ADP Marketplace, ADP Inc."]
|
12
12
|
|
13
13
|
spec.summary = %q{A library for Ruby that help applications connect to the ADP API Gateway.}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
clientID: ec762f06-7410-4f6d-aa82-969902c1836a
|
2
2
|
clientSecret: 6daf2cd7-4604-46c0-ab43-a645a6571d34
|
3
3
|
sslCertPath: config/certs/apiclient_iat.pem
|
4
|
+
sslCaPath: config/certs/apiclient_iat_chain.pem
|
4
5
|
sslKeyPath: config/certs/apiclient_iat.key
|
5
6
|
sslKeyPass: adpadp10
|
6
7
|
tokenServerURL: https://iat-api.adp.com/auth/oauth/v2/token
|
@@ -1,8 +1,8 @@
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
2
|
-
|
2
|
+
MIIH9DCCBdygAwIBAgIKGEyBWwABAAAkazANBgkqhkiG9w0BAQwFADB3MRMwEQYK
|
3
3
|
CZImiZPyLGQBGRYDY29tMRMwEQYKCZImiZPyLGQBGRYDQURQMRIwEAYKCZImiZPy
|
4
4
|
LGQBGRYCQUQxEjAQBgoJkiaJk/IsZAEZFgJFUzEjMCEGA1UEAxMaQURQIEludGVy
|
5
|
-
|
5
|
+
bmFsIElzc3VpbmcgQ0EgMDEwHhcNMTgwMjE2MTc0NzIyWhcNMjAwMjE2MTc0NzIy
|
6
6
|
WjCBxjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxETAPBgNVBAcT
|
7
7
|
CFJvc2VsYW5kMScwJQYDVQQKEx5BdXRvbWF0aWMgRGF0YSBQcm9jZXNzaW5nLCBJ
|
8
8
|
bmMxGDAWBgNVBAsTD0lubm92YXRpb24gTGFiczEkMCIGA1UEAxMbTGFicyBBUEkg
|
@@ -13,33 +13,33 @@ c3RAYWRwLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOSp0P9L
|
|
13
13
|
1BexjXPxdZrPsiNH3XCmmwjYi9bS5kN7tMmaZ9W4xh4dMp6ljX9eDM/YSZ17fkgW
|
14
14
|
XNqiHsFB/G2CxSQ5Qu0RwSOtonVl3FFuW0hP/cMROUq1EGQspgO7nSGGPu3mgCUF
|
15
15
|
xGJZoUTUv9OQ+jvu9aoiDxTs9Na45oPw8OhfWbbrGA0iBSNxdV6IMWDg8MUbQOnv
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
16
|
+
Py3YNYJCaqM6g8MCAwEAAaOCAzAwggMsMB0GA1UdDgQWBBQFzk1EYEhaT60rKMur
|
17
|
+
Sy2a928RADAfBgNVHSMEGDAWgBSZu06XF8PNPO3T269+lX4+4FvnfDCCATkGA1Ud
|
18
|
+
HwSCATAwggEsMIIBKKCCASSgggEghoHVbGRhcDovLy9DTj1BRFAlMjBJbnRlcm5h
|
19
|
+
bCUyMElzc3VpbmclMjBDQSUyMDAxKDEpLENOPURDMVBSUEtJU1VCQ0ExLENOPUNE
|
20
|
+
UCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m
|
21
|
+
aWd1cmF0aW9uLERDPUFELERDPUFEUCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0
|
22
|
+
aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50hkZo
|
23
|
+
dHRwOi8vcGtpLmVzLmFkLmFkcC5jb20vQ0RQL0FEUCUyMEludGVybmFsJTIwSXNz
|
24
|
+
dWluZyUyMENBJTIwMDEoMSkuY3JsMIIBLAYIKwYBBQUHAQEEggEeMIIBGjCBwwYI
|
25
|
+
KwYBBQUHMAKGgbZsZGFwOi8vL0NOPUFEUCUyMEludGVybmFsJTIwSXNzdWluZyUy
|
26
|
+
MENBJTIwMDEsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNl
|
27
|
+
cnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QUQsREM9QURQLERDPWNvbT9jQUNl
|
28
|
+
cnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0
|
29
|
+
eTBSBggrBgEFBQcwAoZGaHR0cDovL3BraS5lcy5hZC5hZHAuY29tL0FJQS9BRFAl
|
30
|
+
MjBJbnRlcm5hbCUyMElzc3VpbmclMjBDQSUyMDAxKDEpLmNydDAOBgNVHQ8BAf8E
|
31
|
+
BAMCBaAwOwYJKwYBBAGCNxUHBC4wLAYkKwYBBAGCNxUIh8uaRoWIo3mJnzPt/z2g
|
32
|
+
qRiBfIenqFWEhfd9AgFkAgEGMBMGA1UdJQQMMAoGCCsGAQUFBwMBMBsGCSsGAQQB
|
33
|
+
gjcVCgQOMAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEMBQADggIBAJn4Z4Eb5pp9
|
34
|
+
tb8aYbrsObkO+AOETrCJJvVGzXMZ0M17/1Ych2CzPRsKuOBM1Mccz6DxqBNZDo+W
|
35
|
+
kcTzsKX4NZ9rxBxb6Zi/Lx7nKvR0TwHdDLhDRABbGqllLxWKBIG1NFx0OnP+PHEv
|
36
|
+
m4LPWR51V75B2ZgyDy784jbo8VcJ33ElcMaLc9WXpmJuub29wQtCe/BtOBr+ju/t
|
37
|
+
qPdafL/IDesoUWVaVqhZ93Pd4KY8A2UP3tLDaQHobd3i4KTjBn+EC9MLu9KssuRi
|
38
|
+
5znABFxhDcFTAYpFn5S/ADwbYzyg4ha2kAEc566DSBH/ogq56qVfJGY/S0ZlIc5S
|
39
|
+
lIS2scMXjX4r8zBmFw1uYKHOzGD21iN16XLjKd2E5NHTAzkuTqD365lbZCedBvjc
|
40
|
+
8rhsuvyKcBV3yoIlYLj2w2kMBwGCD+J99pqngR6tCi1KT6x4HNFsZ7KeahXjdIcT
|
41
|
+
JobEcRLVq7GEBg59I5gBkdCcXDbBWDo3uvjEcX/ORo9o6wX1ihnuKSRUTPLx47bP
|
42
|
+
smmh3Iq2eZXLMcrfpxOoa3MFf+tEnbfDhTs3+MizMjnxan+00v5LyK7vHNL1Muso
|
43
|
+
OTp0dQSTV1von5y5DPecmssRb6ybc9hhbOlqwpyumNnC5o+kmMUkkn2Pu2R902qx
|
44
|
+
ZRRZ+8dWub0NVzZrXqjEtVc/TEGBmxzU
|
45
45
|
-----END CERTIFICATE-----
|
@@ -1,6 +1,7 @@
|
|
1
1
|
clientID: 88a73992-07f2-4714-ab4b-de782acd9c4d
|
2
2
|
clientSecret: a130adb7-aa51-49ac-9d02-0d4036b63541
|
3
3
|
sslCertPath: config/certs/apiclient_iat.pem
|
4
|
+
sslCaPath: config/certs/apiclient_iat_chain.pem
|
4
5
|
sslKeyPath: config/certs/apiclient_iat.key
|
5
6
|
sslKeyPass: adpadp10
|
6
7
|
tokenServerURL: https://iat-api.adp.com/auth/oauth/v2/token
|
data/lib/adp/api_connection.rb
CHANGED
@@ -28,14 +28,14 @@ module Adp
|
|
28
28
|
def connect
|
29
29
|
|
30
30
|
if self.connection_configuration.nil?
|
31
|
-
raise
|
31
|
+
raise ConnectionException, "Configuration is empty or not found"
|
32
32
|
end
|
33
33
|
|
34
34
|
self.access_token = get_access_token()
|
35
35
|
end
|
36
36
|
|
37
37
|
def disconnect
|
38
|
-
self.access_token =
|
38
|
+
self.access_token = nil
|
39
39
|
end
|
40
40
|
|
41
41
|
# @return [Boolean]
|
@@ -58,19 +58,19 @@ module Adp
|
|
58
58
|
if is_connected_indicator?
|
59
59
|
|
60
60
|
if self.connection_configuration.nil?
|
61
|
-
raise
|
61
|
+
raise ConnectionException, "Config error: Configuration is empty or not found"
|
62
62
|
end
|
63
63
|
if (self.connection_configuration.grantType.nil?)
|
64
|
-
raise
|
64
|
+
raise ConnectionException, "Config error: Grant Type is empty or not known"
|
65
65
|
end
|
66
66
|
if (self.connection_configuration.tokenServerURL.nil?)
|
67
|
-
raise
|
67
|
+
raise ConnectionException, "Config error: tokenServerURL is empty or not known"
|
68
68
|
end
|
69
69
|
if (self.connection_configuration.clientID.nil?)
|
70
|
-
raise
|
70
|
+
raise ConnectionException, "Config error: clientID is empty or not known"
|
71
71
|
end
|
72
72
|
if (self.connection_configuration.clientSecret.nil?)
|
73
|
-
raise
|
73
|
+
raise ConnectionException, "Config error: clientSecret is empty or not known"
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
@@ -85,7 +85,7 @@ module Adp
|
|
85
85
|
if result["error"].nil? then
|
86
86
|
token = AccessToken.new(result)
|
87
87
|
else
|
88
|
-
raise
|
88
|
+
raise ConnectionException, "Connection error: #{result['error_description']}"
|
89
89
|
end
|
90
90
|
|
91
91
|
token
|
@@ -94,7 +94,7 @@ module Adp
|
|
94
94
|
# @return [Object]
|
95
95
|
def get_adp_data(product_url)
|
96
96
|
|
97
|
-
raise
|
97
|
+
raise ConnectionException, "Connection error: can't get data, not connected" if (self.access_token.nil? || !is_connected_indicator?)
|
98
98
|
|
99
99
|
authorization = "#{self.access_token.token_type} #{self.access_token.token}"
|
100
100
|
|
@@ -108,7 +108,7 @@ module Adp
|
|
108
108
|
|
109
109
|
data = send_web_request(product_url, data, authorization, 'application/json', 'GET')
|
110
110
|
|
111
|
-
raise
|
111
|
+
raise ConnectionException, "Connection error: #{data['error']}, #{data['error_description']}" unless data["error"].nil?
|
112
112
|
|
113
113
|
return data
|
114
114
|
end
|
@@ -139,6 +139,8 @@ module Adp
|
|
139
139
|
http.cert = OpenSSL::X509::Certificate.new( pem );
|
140
140
|
http.key = OpenSSL::PKey::RSA.new(key, self.connection_configuration.sslKeyPass);
|
141
141
|
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
142
|
+
http.cert_store = OpenSSL::X509::Store.new
|
143
|
+
http.cert_store.add_file(self.connection_configuration.sslCaPath)
|
142
144
|
end
|
143
145
|
|
144
146
|
if method.eql?('POST')
|
@@ -23,7 +23,7 @@ module Adp
|
|
23
23
|
when "ClientCredentialConfiguration"
|
24
24
|
return ClientCredentialConnection.new(connectionCfg)
|
25
25
|
else
|
26
|
-
raise
|
26
|
+
raise ConnectionException, "Grant type / Configuration type not implemented. #{connectionCfg.grantType}"
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
@@ -6,6 +6,7 @@ module Adp
|
|
6
6
|
attr_accessor :clientID
|
7
7
|
attr_accessor :clientSecret
|
8
8
|
attr_accessor :sslCertPath
|
9
|
+
attr_accessor :sslCaPath
|
9
10
|
attr_accessor :sslKeyPath
|
10
11
|
attr_accessor :sslKeyPass
|
11
12
|
attr_accessor :tokenServerURL
|
@@ -19,6 +20,7 @@ module Adp
|
|
19
20
|
self.clientID = config["clientID"]
|
20
21
|
self.clientSecret = config["clientSecret"]
|
21
22
|
self.sslCertPath = config["sslCertPath"]
|
23
|
+
self.sslCaPath = config["sslCaPath"]
|
22
24
|
self.sslKeyPath = config["sslKeyPath"]
|
23
25
|
self.sslKeyPass = config["sslKeyPass"]
|
24
26
|
self.tokenServerURL = config["tokenServerURL"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adp-connection
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- ADP Marketplace
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -71,7 +71,7 @@ description: The ADP Client Connection Library is intended to simplify and aid t
|
|
71
71
|
Gateway. The Library includes a sample application that can be run out-of-the-box
|
72
72
|
to connect to the ADP Marketplace API **test** gateway.
|
73
73
|
email:
|
74
|
-
-
|
74
|
+
- richard.smith@adp.com
|
75
75
|
executables: []
|
76
76
|
extensions: []
|
77
77
|
extra_rdoc_files: []
|
@@ -87,6 +87,7 @@ files:
|
|
87
87
|
- adp-connection.gemspec
|
88
88
|
- bin/console
|
89
89
|
- bin/setup
|
90
|
+
- democlient/.gitignore
|
90
91
|
- democlient/Gemfile
|
91
92
|
- democlient/LICENSE
|
92
93
|
- democlient/README.md
|
@@ -149,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
150
|
version: '0'
|
150
151
|
requirements: []
|
151
152
|
rubyforge_project:
|
152
|
-
rubygems_version: 2.
|
153
|
+
rubygems_version: 2.7.6
|
153
154
|
signing_key:
|
154
155
|
specification_version: 4
|
155
156
|
summary: A library for Ruby that help applications connect to the ADP API Gateway.
|