adp-connection 0.1.1 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/{LICENSE.txt → LICENSE} +1 -2
- data/README.md +176 -7
- data/adp-connection.gemspec +1 -0
- data/democlient/config/certs/apiclient_iat_chain.der +0 -0
- data/democlient/config/certs/apiclient_iat_chain.pem +142 -0
- data/democlient/views/authorization_code.erb +2 -2
- data/democlient/views/client_credentials.erb +1 -1
- data/democlient/views/welcome.erb +1 -1
- data/lib/adp/api_connection.rb +13 -4
- data/lib/adp/connection/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70b9a829d790ef8eac502c22efd4f8f2e0feca03
|
4
|
+
data.tar.gz: ee67817acde214d485687e092bc1f940db5b167b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67c7ce5885e96a2cc401002723229fd0b02c0fe4736fb150b7be415994a766108f1b7f7e848c6e622e029225163af917695a17a870d6d7f5634a29fd4e7ab1bd
|
7
|
+
data.tar.gz: 17412f83d61a86699ad3567c03b2c7a03ea7ea7b2361093773f60f4751dee4c1aee8df8fb8049d6b1a78e495f24202086f0fc54ff81326186ced9bbf41587f7b
|
data/{LICENSE.txt → LICENSE}
RENAMED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
Apache License
|
3
2
|
Version 2.0, January 2004
|
4
3
|
http://www.apache.org/licenses/
|
@@ -187,7 +186,7 @@
|
|
187
186
|
same "printed page" as the copyright notice for easier
|
188
187
|
identification within third-party archives.
|
189
188
|
|
190
|
-
Copyright
|
189
|
+
Copyright {yyyy} {name of copyright owner}
|
191
190
|
|
192
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
193
192
|
you may not use this file except in compliance with the License.
|
data/README.md
CHANGED
@@ -1,10 +1,58 @@
|
|
1
1
|
# ADP Connection Client Library for Ruby
|
2
2
|
|
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
|
+
|
5
|
+
### Version
|
6
|
+
0.1.4 (Beta)
|
4
7
|
|
5
8
|
|
6
9
|
## Installation
|
7
10
|
|
11
|
+
There are two ways of installing and using this library:
|
12
|
+
|
13
|
+
- Clone the repo from Github: This allows you to access the raw source code of the library as well as provide the ability to run the sample demo client application and view the Library documentation
|
14
|
+
- Install & use gem from RubyGems.org(https://rubygems.org/gems/adp-connection): When you are ready to use the library in your own application use this method to install it using gem/bundle
|
15
|
+
|
16
|
+
|
17
|
+
**Clone from Github**
|
18
|
+
|
19
|
+
You can either use the links on Github or the command line git instructions below to clone the repo.
|
20
|
+
|
21
|
+
```sh
|
22
|
+
|
23
|
+
$ git clone https://github.com/adplabs/adp-connection-ruby.git adp-connection-ruby
|
24
|
+
|
25
|
+
```
|
26
|
+
|
27
|
+
followed by
|
28
|
+
|
29
|
+
```sh
|
30
|
+
|
31
|
+
$ cd adp-connection-ruby
|
32
|
+
$ gem install bundler
|
33
|
+
$ bundle install
|
34
|
+
$ rake -T
|
35
|
+
$ rake install:local
|
36
|
+
|
37
|
+
```
|
38
|
+
|
39
|
+
*Run the sample demo client app*
|
40
|
+
|
41
|
+
```sh
|
42
|
+
|
43
|
+
$ cd ./democlient
|
44
|
+
$ bundle install
|
45
|
+
$ rackup
|
46
|
+
|
47
|
+
```
|
48
|
+
|
49
|
+
This starts an HTTP server on port 8889 (this port must be unused to run the sample application). You can point your browser to http://localhost:8889. The sample app allows you to connect to the ADP test API Gateway using the **client_credentials** and **authorization_code** grant types. For the **authorization_code** connection, you will be asked to provide an ADP username (MKPLDEMO) and password (marketplace1).
|
50
|
+
|
51
|
+
***
|
52
|
+
|
53
|
+
|
54
|
+
**Install & use gem from package manager (RubyGems.org)**
|
55
|
+
|
8
56
|
Add this line to your application's Gemfile:
|
9
57
|
|
10
58
|
```ruby
|
@@ -14,13 +62,15 @@ gem 'adp-connection'
|
|
14
62
|
```
|
15
63
|
|
16
64
|
And then execute:
|
17
|
-
```sh
|
18
65
|
|
19
|
-
|
66
|
+
```sh
|
67
|
+
|
68
|
+
$ bundle install
|
20
69
|
|
21
70
|
```
|
22
71
|
|
23
72
|
Or install it yourself as:
|
73
|
+
|
24
74
|
```sh
|
25
75
|
|
26
76
|
$ gem install adp-connection
|
@@ -29,7 +79,7 @@ Or install it yourself as:
|
|
29
79
|
|
30
80
|
## Usage
|
31
81
|
|
32
|
-
Start using the library by
|
82
|
+
Start using the library by requiring the gem in your ruby files
|
33
83
|
|
34
84
|
```ruby
|
35
85
|
|
@@ -46,11 +96,130 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
46
96
|
A demo client is included that uses the adp-connection gem. Check it out.
|
47
97
|
|
48
98
|
|
49
|
-
##
|
50
|
-
|
99
|
+
## Examples
|
100
|
+
### Create Client Credentials ADP Connection
|
101
|
+
|
102
|
+
Here is a Sinatra (http://www.sinatrarb.com/) example
|
103
|
+
|
104
|
+
```ruby
|
105
|
+
|
106
|
+
require 'yaml'
|
107
|
+
require 'tilt/erb'
|
108
|
+
require 'logger'
|
109
|
+
require 'adp/connection'
|
110
|
+
|
111
|
+
clientcredential_config = YAML.load(ERB.new(File.read('config/clientcredential_config.yml')).result)
|
112
|
+
authorizationcode_config = YAML.load(ERB.new(File.read('config/authorizationcode_config.yml')).result)
|
113
|
+
|
114
|
+
configure do
|
115
|
+
Log = Logger.new(STDOUT);
|
116
|
+
#Logger.new("sinatra.log")
|
117
|
+
Log.level = Logger::DEBUG
|
118
|
+
end
|
119
|
+
|
120
|
+
class AdpConnectionRuby < Sinatra::Base
|
121
|
+
|
122
|
+
enable :sessions
|
123
|
+
set :public_folder => "public", :static => true
|
124
|
+
|
125
|
+
#set :protection, :session => true
|
126
|
+
set :port, 8889
|
127
|
+
|
128
|
+
results = {
|
129
|
+
:message => "Welcome",
|
130
|
+
:auth_type => nil
|
131
|
+
}
|
132
|
+
|
133
|
+
get '/client_credentials/login' do
|
134
|
+
results[:auth_type] = :client_credentials
|
135
|
+
results[:message] = nil
|
136
|
+
connection = session["ClientCredential"]
|
137
|
+
results[:userinfo] = nil
|
138
|
+
|
139
|
+
if (connection.nil?)
|
140
|
+
|
141
|
+
# get new connection configuration
|
142
|
+
# YAML config object placed in yaml configuration files
|
143
|
+
config = YAML.load_file('config/clientcredential_config.yml');
|
144
|
+
|
145
|
+
if (!config || config.nil?)
|
146
|
+
results[:message] = "Unable to load configuration settings from file (config/clientcredential_config.yml)"
|
147
|
+
else
|
148
|
+
begin
|
149
|
+
clientcredential_config = Adp::Connection::ClientCredentialConfiguration.new(config);
|
150
|
+
|
151
|
+
connection = Adp::Connection::ApiConnectionFactory::createConnection(clientcredential_config)
|
152
|
+
|
153
|
+
connection.connect();
|
154
|
+
|
155
|
+
if (!connection.is_connected_indicator?)
|
156
|
+
results[:message] = "Error attempting to establish a connection"
|
157
|
+
Log.error "Not connected"
|
158
|
+
else
|
159
|
+
Log.debug("Connected and ready for getting data");
|
160
|
+
session["ClientCredential"] = connection;
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
165
|
+
erb :client_credentials, :locals => { :view_bag => results }
|
166
|
+
end
|
167
|
+
|
168
|
+
end
|
169
|
+
|
170
|
+
|
171
|
+
```
|
172
|
+
|
173
|
+
|
174
|
+
## API Documentation ##
|
175
|
+
|
176
|
+
Documentation on the individual API calls provided by the library is automatically generated from the library code. To generate the documentation, please complete the following steps:
|
177
|
+
|
178
|
+
```
|
179
|
+
# not applicable
|
180
|
+
```
|
181
|
+
|
182
|
+
|
183
|
+
## Tests ##
|
184
|
+
|
185
|
+
Automated unit tests are available in tests folder. To run the tests, please complete the following steps.
|
186
|
+
|
187
|
+
```
|
188
|
+
rake spec
|
189
|
+
```
|
190
|
+
|
191
|
+
The above will also display test results.
|
192
|
+
|
193
|
+
## Code Coverage ##
|
194
|
+
|
195
|
+
```
|
196
|
+
# not applicable
|
197
|
+
```
|
198
|
+
|
199
|
+
## Dependencies ##
|
200
|
+
|
201
|
+
This library has the following **install** dependencies. These are installed automatically as part of the 'bundle install' or 'gem install adp-connection' if they don't exist.
|
202
|
+
|
203
|
+
* json
|
204
|
+
|
205
|
+
This library has the following **development/test** dependencies. These are installed automatically as part of the 'bundle install' if they don't exist.
|
206
|
+
|
207
|
+
* bundler
|
208
|
+
* rake
|
209
|
+
* rspec
|
210
|
+
|
211
|
+
## Contributing ##
|
212
|
+
|
213
|
+
To contribute to the library, please generate a pull request. Before generating the pull request, please insure the following:
|
214
|
+
|
215
|
+
1. Appropriate unit tests have been updated or created.
|
216
|
+
2. Code coverage on the unit tests must be no less than 95%.
|
217
|
+
3. Your code updates have been fully tested.
|
218
|
+
4. Update README.md and API documentation as appropriate.
|
51
219
|
|
52
220
|
Author: Junior Napier
|
53
221
|
|
54
|
-
## License
|
222
|
+
## License ##
|
223
|
+
|
55
224
|
The gem is available as open source under the terms of the Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0).
|
56
225
|
|
data/adp-connection.gemspec
CHANGED
@@ -8,6 +8,7 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Adp::Connection::VERSION
|
9
9
|
spec.authors = ["Napier, Junior (CORP)"]
|
10
10
|
spec.email = ["JuniorNapier@GMail.com"]
|
11
|
+
# spec.owners = ["ADP Marketplace, ADP Inc."]
|
11
12
|
|
12
13
|
spec.summary = %q{A library for Ruby that help applications connect to the ADP API Gateway.}
|
13
14
|
spec.description = %q{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.}
|
Binary file
|
@@ -0,0 +1,142 @@
|
|
1
|
+
subject=/DC=com/DC=ADP/DC=AD/DC=ES/CN=ADP Internal Issuing CA 01
|
2
|
+
issuer=/CN=ADP Internal Policy CA 01
|
3
|
+
-----BEGIN CERTIFICATE-----
|
4
|
+
MIII4jCCBsqgAwIBAgIKFsJ29gAAAAAAAzANBgkqhkiG9w0BAQwFADAkMSIwIAYD
|
5
|
+
VQQDExlBRFAgSW50ZXJuYWwgUG9saWN5IENBIDAxMB4XDTE0MDcxODA1MDkxM1oX
|
6
|
+
DTE5MDcxODA1MTkxM1owdzETMBEGCgmSJomT8ixkARkWA2NvbTETMBEGCgmSJomT
|
7
|
+
8ixkARkWA0FEUDESMBAGCgmSJomT8ixkARkWAkFEMRIwEAYKCZImiZPyLGQBGRYC
|
8
|
+
RVMxIzAhBgNVBAMTGkFEUCBJbnRlcm5hbCBJc3N1aW5nIENBIDAxMIICIjANBgkq
|
9
|
+
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA7dhzYHoxgb5+Epo6pBNpgFGkHVqF/Vl+
|
10
|
+
iALJOIAh4GbAxx2WvLNYV5VHshj9riNFNLoy6XnL7/lkPB5aGallwCUqJH9EkxkY
|
11
|
+
a/5ccql8PWQVQEbJTcJ4rCQZzeeIMChFT6FLkxFPbUXG6lktmycDuzS1EmSYM3dW
|
12
|
+
paAGMkzs3XAr/d/50iao053fWvrJEJl6fKOud12ICmOt4PQbfAaRLvBBFL0b3v3E
|
13
|
+
WhYedPZSkwJtjwJN69QJmrkNMHpUHS4zw+JUOSOXuHhqY9hSd9zIwM9L/3cOArIh
|
14
|
+
+bINyVzFs40pPON4lNfK3bvolwzZrzeIkGtlydDFhqzMkeAL2Iz5e62w5MxsZ+o/
|
15
|
+
1jbUkFCJZU0a78paW0BoIL60tDME4Qw9QORHBgro2rOvGSYq2b6vaM/0mc0OWPf4
|
16
|
+
9Ri61gY93607YhrOW76pa7sCFhEziNJ9G0N9R3fzpo+SEG3GC54EZl7LAag/la8e
|
17
|
+
SRTj0/uKiXYvwwHvkKixEn1ok9io8c5kN8VxGNc+hZBgRoewL9q96ftpiJlq18E5
|
18
|
+
/wnY0nEB/0SQLL7Tpt9JXYIVUrKwVvF9JZFBOq2nSJy0/o3UBrYXGblT82ZQhMhO
|
19
|
+
vdOwpAHFruoCJxl2DB/qSULJ6CYWi7Rq7blBvXNKhx90g9zplQ6/R9//fBvPrlB7
|
20
|
+
eOdMHPQGX1sCAwEAAaOCA8EwggO9MBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQW
|
21
|
+
BBQqCSRfiwi+a3Yo4qkvugtqSgHyQTCBzQYDVR0gBIHFMIHCMIG/BgkrBgEEATIN
|
22
|
+
AQIwgbEwgYAGCCsGAQUFBwICMHQeciAdAFUAcwBlACAAbwBmACAAdABoAGkAcwAg
|
23
|
+
AFAASwBJACAAaQBzACAAcgBlAHMAZQByAHYAZQBkACAAZgBvAHIAIABhAHUAdABo
|
24
|
+
AG8AcgBpAHoAZQBkACAAQQBEAFAAIABVAHMAZQAgAE8ATgBMAFkgHTAsBggrBgEF
|
25
|
+
BQcCARYgaHR0cDovL3BraS5lcy5hZC5hZHAuY29tL0NQUy50eHQwGQYJKwYBBAGC
|
26
|
+
NxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8C
|
27
|
+
AQAwHwYDVR0jBBgwFoAUMTn+ScjaIJTXG1UQqt7tu6FwDagwggEwBgNVHR8EggEn
|
28
|
+
MIIBIzCCAR+gggEboIIBF4aB0GxkYXA6Ly8vQ049QURQJTIwSW50ZXJuYWwlMjBQ
|
29
|
+
b2xpY3klMjBDQSUyMDAxLENOPVJPU0VQUlBLSVBPTDEsQ049Q0RQLENOPVB1Ymxp
|
30
|
+
YyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24s
|
31
|
+
ZGM9YWQsZGM9YWRwLGRjPWNvbT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jh
|
32
|
+
c2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnSGQmh0dHA6Ly9wa2ku
|
33
|
+
ZXMuYWQuYWRwLmNvbS9DRFAvQURQJTIwSW50ZXJuYWwlMjBQb2xpY3klMjBDQSUy
|
34
|
+
MDAxLmNybDCCAScGCCsGAQUFBwEBBIIBGTCCARUwgcIGCCsGAQUFBzAChoG1bGRh
|
35
|
+
cDovLy9DTj1BRFAlMjBJbnRlcm5hbCUyMFBvbGljeSUyMENBJTIwMDEsQ049QUlB
|
36
|
+
LENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZp
|
37
|
+
Z3VyYXRpb24sZGM9YWQsZGM9YWRwLGRjPWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/
|
38
|
+
b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTBOBggrBgEFBQcwAoZC
|
39
|
+
aHR0cDovL3BraS5lcy5hZC5hZHAuY29tL0FJQS9BRFAlMjBJbnRlcm5hbCUyMFBv
|
40
|
+
bGljeSUyMENBJTIwMDEuY3J0MA0GCSqGSIb3DQEBDAUAA4ICAQCeHTqs9kB5r3Gp
|
41
|
+
pa/AfynneZz9vJ60GFE4TgKDaCYeyOgIfn6xwJkLdEXJtHLsAPLATjtaV2nNQvc7
|
42
|
+
y4PEa/TipUx7jPK1Sg2EKuE41yQNYH7IqwM2hkKWE4sdDDSnA5JKOGLgidTHE53F
|
43
|
+
pjU5k0KY9mLnP3w1iev25M9TFNxBxkVw7LnPLGVPb9Tz9v8BCMfnu7Au4qdrRmaD
|
44
|
+
lD7TOjx3nMJrJ8n0nY9RL+FkJjYhE5LENnIT6GFQNmqMJYAisRPessz5XLeRO0hW
|
45
|
+
KIMSTxd+zX9Fus2EoNQHP6A4duwVHfHU3497rOjuzfRE0W1vkkErTyS80kQkcmWX
|
46
|
+
sPdaNEOOaRbF8bDepHL6sCxzv2DzhT2GE+FssBjMTuDPeYO2o6MUU0c3Qqsn6mCZ
|
47
|
+
mM4qTTtpks+bUAQGh4nzvGHlXW0RCo2TjUSUDx9V88x1OLXFG4aCphaZRKnG0b34
|
48
|
+
FeJPaW83PPy3qtOuFXsyuHHFVu0dKnr9lat1YAsL4EqJ1a70m3krpuJ+G/fdTsCM
|
49
|
+
LzC0m1PagaqBFG/kkGCCKpXJCFqleBpXDOMtDlTEtsB0ym1gMnW71QPgI94iEjwf
|
50
|
+
GZyqSdDgz/icw16SbfPQDuf5ArkfcHtgsie8AeBa+oLjMonexzbwylTAC8dCi/09
|
51
|
+
EIatLFEeSMbOytAwLUlp7yJPOYig6w==
|
52
|
+
-----END CERTIFICATE-----
|
53
|
+
|
54
|
+
subject=/CN=ADP Internal Policy CA 01
|
55
|
+
issuer=/CN=ADP Internal Root CA 01
|
56
|
+
-----BEGIN CERTIFICATE-----
|
57
|
+
MIIIjjCCBnagAwIBAgIKYc58NQAAAAAAAjANBgkqhkiG9w0BAQwFADAiMSAwHgYD
|
58
|
+
VQQDExdBRFAgSW50ZXJuYWwgUm9vdCBDQSAwMTAeFw0xNDA3MTgwNDU0MDhaFw0y
|
59
|
+
NDA3MTgwNTA0MDhaMCQxIjAgBgNVBAMTGUFEUCBJbnRlcm5hbCBQb2xpY3kgQ0Eg
|
60
|
+
MDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgcpPaMatAFItY6Xo4
|
61
|
+
xcV16BK7nu4oFbwNhOlHpK34cQTYul/afhcrET4M/QlfOLz59sKb78pex3w6ZVV2
|
62
|
+
rA5A5qHm4QFys/VxVX7Qefk8g11X9wkjJmzbLy3Q8Ljdc6wBjz0doNJCImotmQnP
|
63
|
+
adHP2nArF1sPWNZLSJm3yHsrsbD5ssSf3cJs12SRRP+S16VHe+gwLxAysK+NWgrU
|
64
|
+
Cl/V3k8+7BGhRxabmu3ViYmAVBHddK2ah/zsCXPBazjEhIzNVGjcdZfNhhCkVo5D
|
65
|
+
8RY9yLblRAQ8BeVe7iGua0htI4DNmexpNiEy8LGbmwRKFTOe1i8tunYek/w8rwlo
|
66
|
+
fDs949zHK7VU1jle3ap/o+rAORf4FvzZj3E6FmiXUcfVQVmiKxtu+WcW//dL5KuM
|
67
|
+
EDU8rB8y+AzAxWbLYSemUymYcsEAQwzHyqY2Fn1TIyvEdwd5tJr8Nap16vxLCddk
|
68
|
+
244XPtE+b/2TF2humKrJk7LLzsY9P02SuBSJmMlRxgqD4aRDHCcR+DX1ViPLRRHd
|
69
|
+
n6I6IHs+x4vK/X5X5YEwJmtC1A7hDEbyqFFxG5tjjFUHdX6BzBBZUtSVXbtFgH7A
|
70
|
+
eJS7al9F0/niCuFq2hLD0V7gAZSR1FpxYVrFR4sJODRuQg0PntblsWHHGSM1hNpt
|
71
|
+
85MsXo0yS89FKQqBJ+VG99xMcQIDAQABo4IDwjCCA74wEAYJKwYBBAGCNxUBBAMC
|
72
|
+
AQAwHQYDVR0OBBYEFDE5/knI2iCU1xtVEKre7buhcA2oMIHXBgNVHSAEgc8wgcww
|
73
|
+
gckGCSsGAQQBMg0BAjCBuzAsBggrBgEFBQcCARYgaHR0cDovL3BraS5lcy5hZC5h
|
74
|
+
ZHAuY29tL0NQUy50eHQwgYoGCCsGAQUFBwICMH4efCAdAFUAcwBlACAAbwBmACAA
|
75
|
+
dABoAGkAcwAgAFAASwBJACAAaQBzACAAcgBlAHMAZQByAHYAZQBkACAAZgBvAHIA
|
76
|
+
IABhAHUAdABoAG8AcgBpAHoAZQBkACAAQQBEAFAAIABwAHUAcgBwAG8AcwBlAHMA
|
77
|
+
IABPAE4ATABZIB0wGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQD
|
78
|
+
AgGGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHwYDVR0jBBgwFoAUkaUop0yyS7G+FL9V
|
79
|
+
tLaghHrNDBcwggErBgNVHR8EggEiMIIBHjCCARqgggEWoIIBEoaBzWxkYXA6Ly8v
|
80
|
+
Q049QURQJTIwSW50ZXJuYWwlMjBSb290JTIwQ0ElMjAwMSxDTj1ST1NFUFJQS0lD
|
81
|
+
QTEsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2Vz
|
82
|
+
LENOPUNvbmZpZ3VyYXRpb24sZGM9YWQsZGM9YWRwLGRjPWNvbT9jZXJ0aWZpY2F0
|
83
|
+
ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9u
|
84
|
+
UG9pbnSGQGh0dHA6Ly9wa2kuZXMuYWQuYWRwLmNvbS9DRFAvQURQJTIwSW50ZXJu
|
85
|
+
YWwlMjBSb290JTIwQ0ElMjAwMS5jcmwwggEjBggrBgEFBQcBAQSCARUwggERMIHA
|
86
|
+
BggrBgEFBQcwAoaBs2xkYXA6Ly8vQ049QURQJTIwSW50ZXJuYWwlMjBSb290JTIw
|
87
|
+
Q0ElMjAwMSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2Vy
|
88
|
+
dmljZXMsQ049Q29uZmlndXJhdGlvbixkYz1hZCxkYz1hZHAsZGM9Y29tP2NBQ2Vy
|
89
|
+
dGlmaWNhdGU/YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5
|
90
|
+
MEwGCCsGAQUFBzAChkBodHRwOi8vcGtpLmVzLmFkLmFkcC5jb20vQUlBL0FEUCUy
|
91
|
+
MEludGVybmFsJTIwUm9vdCUyMENBJTIwMDEuY3J0MA0GCSqGSIb3DQEBDAUAA4IC
|
92
|
+
AQBQyclrE2Axmg13/vO3Xo/p8jAlZuWE6w61dwCEFfrR9e4WimMYpacfYkH4BjdS
|
93
|
+
zZfi6hpEo0qbdIxIOlTL+jFdeU9cNWC0k7VgEC90BCVgDHwIVHULsvL5LNgEwHjI
|
94
|
+
gZQCJWrso+dt4OS5HAOtr7GN5yvUxdgFarqYURi9IvkHYGnrs72J58C2197cbD3g
|
95
|
+
y/gLEap2YBFzlqNkmEGdNfKipUrzXfxZuik/fb9BI4spqZybATY9yEgBcODgApjD
|
96
|
+
YHJW1NcR6J1Fw24ZHeMJZm3kVxAkIiCgEY6LsW7/QcFYkQY3E+LbtiEwHckKXkCs
|
97
|
+
mKnS67nueNjg7Xk+7p/mWyAd0SRYkDJj/UYbVfhKvT2BrbMlnPa86WjTDv7v+JV8
|
98
|
+
zci1SwJn363r+pK1hpzykb3oHgbH0pXa46S6AaVA4B7lqPitp3poYtSjpTl2vZiV
|
99
|
+
QSgCnqF08BZ23s1n3d0ET+r4ujAV9Muw5waR48ynzsOBXMQ7C/d/xSFTAbAs0UTI
|
100
|
+
Ikg0Tmda232s2mPjQWAW+Rnr0lanDhMnn8i0nCRHvfFNp3T4vrrpyKZJfyhYnfOB
|
101
|
+
zCL1WP7zIKkrupQchrPPrIF2lK6qgz7HL/ew1c6udZsCjIfUbkFAfUxEyAn92SdC
|
102
|
+
1OsGKQvc/1wZsyrCrEViKj9KxrWTjyGwqssaDdRwaSaTBw==
|
103
|
+
-----END CERTIFICATE-----
|
104
|
+
|
105
|
+
subject=/CN=ADP Internal Root CA 01
|
106
|
+
issuer=/CN=ADP Internal Root CA 01
|
107
|
+
-----BEGIN CERTIFICATE-----
|
108
|
+
MIIGADCCA+igAwIBAgIQQ/qBCPhSl7VL1hxvdZoLajANBgkqhkiG9w0BAQwFADAi
|
109
|
+
MSAwHgYDVQQDExdBRFAgSW50ZXJuYWwgUm9vdCBDQSAwMTAeFw0xNDA3MTgwNDQy
|
110
|
+
MzVaFw0zNDA3MTgwNDQ5NTRaMCIxIDAeBgNVBAMTF0FEUCBJbnRlcm5hbCBSb290
|
111
|
+
IENBIDAxMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvH7AEnfW9+aX
|
112
|
+
w5UicLCTXZzdqwEI7cmlG2r51uHNIDpaLVdvwX7k25ALQ0SrivNtCN5LYEQGmRb4
|
113
|
+
1c1cd6DQDcKdHlZtaol7zn0D/aPMoP6cORZR571M1D3sz0bh0kZldh97BXfLXz+0
|
114
|
+
iIcJMEN40+8Uqlf146OtV0OS0MZ2GRXgBeDI++09WsZr3B7X+lUm4dD1sokCwNDx
|
115
|
+
ID+oP7L65ymfQgB7e69iSAMM6ZV0dCkwlRUwSQ5xSQuZniyVrTOUjUvl+d0luslx
|
116
|
+
SKmoln2LYivT2B39hDCXEWDnuWM+VeIs00G04MpEo1/60vQD+i1Nde7igwxVe8i4
|
117
|
+
/M5bVT28hWoqoNqLTcH9ssHIRFR56n4g/CgdUbwkeFMV90o9r4hnC/xIefp3UDcO
|
118
|
+
Kw/egOVC5idfhs+bqZEyN+aQuZyigIWGwK04a9uWh/VUJVLI52uprptaRG+Vt/6k
|
119
|
+
RyOIVlNc8UUjoup4LujaERcVvoda9vxKNRxibMBr4Ow0iOjMYLOLuWWSjLWzco5H
|
120
|
+
AzQDou0js1rKyE2e8VXbCT49ScjVUBNiwb4EqyQs+jUVLc2tkbemh9iQ+LWVmkdi
|
121
|
+
jCJvMBj07Tj0eJZQCQI2MpktVHi9Pa/GeDH5WfjR1A4KZ4miHK2Ysvke4LGo/Hni
|
122
|
+
f2ETVG24hCVQnbI6lAqXRsYv1w/0QFUCAwEAAaOCATAwggEsMAsGA1UdDwQEAwIB
|
123
|
+
hjASBgNVHRMBAf8ECDAGAQH/AgECMB0GA1UdDgQWBBSRpSinTLJLsb4Uv1W0tqCE
|
124
|
+
es0MFzAQBgkrBgEEAYI3FQEEAwIBADCB1wYDVR0gBIHPMIHMMIHJBgkrBgEEATIN
|
125
|
+
AQIwgbswLAYIKwYBBQUHAgEWIGh0dHA6Ly9wa2kuZXMuYWQuYWRwLmNvbS9DUFMu
|
126
|
+
dHh0MIGKBggrBgEFBQcCAjB+HnwgHQBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABQ
|
127
|
+
AEsASQAgAGkAcwAgAHIAZQBzAGUAcgB2AGUAZAAgAGYAbwByACAAYQB1AHQAaABv
|
128
|
+
AHIAaQB6AGUAZAAgAEEARABQACAAcAB1AHIAcABvAHMAZQBzACAATwBOAEwAWSAd
|
129
|
+
MA0GCSqGSIb3DQEBDAUAA4ICAQBnYas0hI4jlYtRyKkwwxIQsdi3dEyMpxsjyvFi
|
130
|
+
RfjnolfKQcTeRzObCugZ0CpuGPUsGCoQZb2MP5cp1FgtpF6eX7fl/qy1AhJCuhdW
|
131
|
+
zli61iv7CuJDhNziLUPeSBo0ySrTuhJxnCbtLa0+tWpx4yN5HtkCe9qekh3hiiRC
|
132
|
+
bfRujgJbar1WtGTwNTKPS3IKw0lcIajy3ieaMHOnFQyPR5nl3so8pUEW3Xi4wIQU
|
133
|
+
HSjoOeg45v0mp2XT1zI1ZWWMCkS3ZazX5LIYl8NwcbbD1GrKVvc8MZIoxrjhzxhM
|
134
|
+
6ur5V6RKMgE3/GdjcygpI7dWDau+FFvrydfflQfpNsiBR9rAKRYu40pF6Nc9/vIy
|
135
|
+
OwDstVT8+03AVHW53jwB4qcUWnkZnWdN4HmYROWBM8TXJxxU29NL+s5JSMel2yJ+
|
136
|
+
RcztGjnVRFgSJ1TtbA95NWUVadkoAKr0TKfT6+y2j4RPjCI5ACWv9gV6cFKgS/Mp
|
137
|
+
VmgTo7FrDUJGTCcUe3W5Thr14a4dG0xVxL8we664iELB1xsr4mEQ+oT/avusveWU
|
138
|
+
4jdPc62HPElvBtlQFhbABYxmULRQudYqz6Ut7Ui2gAnHlvuIBHYN1C05bCKWuO3B
|
139
|
+
2Ndph5oVXEFqZGT264vkWyAmETbMapDjLL7hP13dTBQyduhxn3RIC9cT/j7ggrFt
|
140
|
+
xjCABQ==
|
141
|
+
-----END CERTIFICATE-----
|
142
|
+
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<p>
|
3
3
|
<strong>Authorization </strong><br/>
|
4
4
|
<a href="/client_credentials" style="width:185px;height:32px;display:inline-block;background-color:#ccc;padding:10px 10px 10px 5px;text-align: center;vertical-align: middle;">Client Credential</a>
|
5
|
-
<span href="authorization_code" style="width:185px;height:32px;display:inline-block;background-color:#ccc;padding:10px 10px 10px 5px;text-align: center;vertical-align: middle;">
|
5
|
+
<span href="authorization_code" style="width:185px;height:32px;display:inline-block;background-color:#ccc;padding:10px 10px 10px 5px;text-align: center;vertical-align: middle;">Authorization Code</span>
|
6
6
|
</p>
|
7
7
|
</div>
|
8
8
|
|
@@ -87,4 +87,4 @@ connection.connect()
|
|
87
87
|
<div class="results_footer" style="">
|
88
88
|
<a href="https://github.com/adplabs/adp-connection-ruby"><img class="sidebar_logo" src="/images/ADP_logo_tagline.png" alt="Marketplace/Ruby/Library" /></a>
|
89
89
|
</div>
|
90
|
-
</div>
|
90
|
+
</div>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<p>
|
3
3
|
<strong>Authorization </strong><br/>
|
4
4
|
<span href="client_credentials" style="width:185px;height:32px;display:inline-block;background-color:#ccc;padding:10px 10px 10px 5px;text-align: center;vertical-align: middle;">Client Credential</span>
|
5
|
-
<a href="/authorization_code" style="width:185px;height:32px;display:inline-block;background-color:#ccc;padding:10px 10px 10px 5px;text-align: center;vertical-align: middle;">
|
5
|
+
<a href="/authorization_code" style="width:185px;height:32px;display:inline-block;background-color:#ccc;padding:10px 10px 10px 5px;text-align: center;vertical-align: middle;">Authorization Code</a>
|
6
6
|
</p>
|
7
7
|
</div>
|
8
8
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<p>
|
3
3
|
<strong>Authorization </strong><br/>
|
4
4
|
<a href="/client_credentials" style="width:185px;height:32px;display:inline-block;background-color:#ccc;padding:10px 10px 10px 5px;text-align: center;vertical-align: middle;">Client Credential</a>
|
5
|
-
<a href="/authorization_code" style="width:185px;height:32px;display:inline-block;background-color:#ccc;padding:10px 10px 10px 5px;text-align: center;vertical-align: middle;">
|
5
|
+
<a href="/authorization_code" style="width:185px;height:32px;display:inline-block;background-color:#ccc;padding:10px 10px 10px 5px;text-align: center;vertical-align: middle;">Authorization Code</a>
|
6
6
|
</p>
|
7
7
|
</div>
|
8
8
|
|
data/lib/adp/api_connection.rb
CHANGED
@@ -9,6 +9,7 @@ require_relative "connection_exception"
|
|
9
9
|
require_relative "api_connection"
|
10
10
|
require_relative "client_credential_configuration"
|
11
11
|
require_relative "authorization_code_configuration"
|
12
|
+
require_relative "connection/version"
|
12
13
|
|
13
14
|
module Adp
|
14
15
|
module Connection
|
@@ -118,15 +119,21 @@ module Adp
|
|
118
119
|
content_type ||= "application/x-www-form-urlencoded"
|
119
120
|
method ||= 'POST'
|
120
121
|
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
122
|
+
log = Logger.new(STDOUT)
|
123
|
+
log.level = Logger::DEBUG
|
124
|
+
log.debug("URL: #{url}")
|
125
|
+
log.debug("Client ID: #{data["client_id"]}")
|
126
|
+
log.debug("Client Secret: #{data["client_secret"]}")
|
127
|
+
log.debug("Grant Type: #{data["grant_type"]}")
|
125
128
|
|
129
|
+
useragent = "adp-connection-ruby/#{Adp::Connection::VERSION}"
|
126
130
|
uri = URI.parse( url );
|
127
131
|
pem = File.read("#{self.connection_configuration.sslCertPath}");
|
128
132
|
key = File.read(self.connection_configuration.sslKeyPath);
|
129
133
|
http = Net::HTTP.new(uri.host, uri.port);
|
134
|
+
|
135
|
+
log.debug("User agent: #{useragent}")
|
136
|
+
|
130
137
|
if (!self.connection_configuration.sslCertPath.nil?)
|
131
138
|
http.use_ssl = true
|
132
139
|
http.cert = OpenSSL::X509::Certificate.new( pem );
|
@@ -141,6 +148,8 @@ module Adp
|
|
141
148
|
request = Net::HTTP::Get.new(uri.request_uri)
|
142
149
|
end
|
143
150
|
|
151
|
+
request.initialize_http_header({"User-Agent" => useragent })
|
152
|
+
|
144
153
|
request["Content-Type"] = content_type
|
145
154
|
|
146
155
|
# add credentials if available
|
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.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Napier, Junior (CORP)
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -81,7 +81,7 @@ files:
|
|
81
81
|
- ".travis.yml"
|
82
82
|
- CODE_OF_CONDUCT.md
|
83
83
|
- Gemfile
|
84
|
-
- LICENSE
|
84
|
+
- LICENSE
|
85
85
|
- README.md
|
86
86
|
- Rakefile
|
87
87
|
- adp-connection.gemspec
|
@@ -97,6 +97,8 @@ files:
|
|
97
97
|
- democlient/config/certs/apiclient_iat.key
|
98
98
|
- democlient/config/certs/apiclient_iat.pem
|
99
99
|
- democlient/config/certs/apiclient_iat.pfx
|
100
|
+
- democlient/config/certs/apiclient_iat_chain.der
|
101
|
+
- democlient/config/certs/apiclient_iat_chain.pem
|
100
102
|
- democlient/config/clientcredential_config.yml
|
101
103
|
- democlient/public/favicon.ico
|
102
104
|
- democlient/public/images/.gitkeep
|