The ADP Connection library wraps the authorization (oAuth 2.0) connection steps for connecting to ADPs API gateway.
npm install [email protected]
$ npm install adp-connection
import adpConnection from 'adp-connection';
const connectionOpts = {
clientId: '1234567890',
clientSecret: 'ABC-DEF-GHI-JKL',
granttype: 'client_credentials',
sslCertPath: './certs/cert.pem',
sslKeyPath: './certs/cert.key'
};
const connectionComplete = err => {
// Use adp-core to do all the things...
};
const conn = adpConnection.createConnection(connectionOpts);
conn.connect(connectionComplete);
import adpConnection from 'adp-connection';
const connectionOpts = {
clientId: '1234567890',
clientSecret: 'ABC-DEF-GHI-JKL',
granttype: 'authorization_code',
sslCertPath: './certs/cert.pem',
sslKeyPath: './certs/cert.key',
callbackUrl: 'https://myapp.domain.com/callback'
};
const conn = adpConnection.createConnection(connectionOpts);
// in an express app...
res.redirect(conn.getAuthorizationRequest());
// Authorization endpoint will respond to `https://myapp.domain.com/callback` with `code` query parameter
const authorizationCode = req.query.code;
// Set authorizationCode in connection options.
connectionOpts.authorizationCode = authorizationCode;
// createConnection with authorizationCode set.
const conn = adpConnection.createConnection(connectionOpts);
const connectionComplete = err => {
// connected ...
};
conn.connect(connectionComplete);
Enable debugging by setting the NODE_DEBUG
environment variable.
$ export NODE_DEBUG=adp-connection,adp-core
To contribute to the library, please generate a pull request. Before generating the pull request, please insure the following:
- Appropriate unit tests have been updated or created.
- Code coverage on unit tests must be no less than 100%.
- Your code updates have been fully tested and linted with no errors.
- Update README and API documentation as appropriate.
A sample client is provided to demonstrate usage of the libraries. The sample client connects to a sandbox environment hosted by ADP, and comes preconfigured with the necessary credentials and certificates to connect to the sandbox server.
$ git clone https://github.com/adplabs/adp-connection-node.git
$ cd adp-connection-node
$ npm install
$ node authorizationCodeExample
$ git clone https://github.com/adplabs/adp-connection-node.git
$ cd adp-connection-node
$ npm install
$ node clientCredentialsExample
$ npm test
$ npm run coverage
$ npm run lint