Skip to content

Instantly share code, notes, and snippets.

@krypted
Created March 25, 2018 01:50
Show Gist options
  • Save krypted/47e5293a165495fe9a5735186bd52106 to your computer and use it in GitHub Desktop.
Save krypted/47e5293a165495fe9a5735186bd52106 to your computer and use it in GitHub Desktop.
let request = require('request');
console.log("Connecting to Salesforce");
console.log("");
let access_token_url = 'https://login.salesforce.com/services/oauth2/token';
let username = 'enter user name here';
let password = 'enter password here';
let client_id = 'enter client id here';
let client_secret = 'enter client secret here';
let identityURL, accessToken;
let headers = {
'content-type': 'application/x-www-form-urlencoded'
};
let oAuthOptions = {
url: access_token_url,
method: 'POST',
headers: headers,
form: {
'grant_type': 'password',
'client_id': client_id,
'client_secret': client_secret,
'username': username,
'password': password
}
};
let oIdentityOptions = {
url: identityURL,
method: 'POST',
headers: headers,
form: {
'format': 'json',
'oauth_token': accessToken
}
};
function oAuthCallBack(error, response, body) {
if ( !error && response.statusCode == 200) {
body = JSON.parse(body);
console.log("Completed OAuth Response ==> ");
console.log( body );
console.log("");
accessToken = body['access_token'];
console.log("Access Token ==> " + accessToken);
oIdentityOptions.url = body['id'] ;
oIdentityOptions.form.oauth_token = accessToken;
request.post(oIdentityOptions, identityCallBack);
} else{
console.log("Error Occured...");
console.log(error);
}
}
function identityCallBack(error, response, body){
if ( !error && response.statusCode == 200) {
body = JSON.parse(body);
console.log("Complete Identity Response ==> ");
console.log( body );
console.log("")
console.log("First Name ==> " + body['first_name'])
console.log("Last Name ==> " + body['last_name'])
console.log("Email ==> " + body['email'])
console.log("")
console.log("Disconnecting from Salesforce")
} else{
console.log("Error Occured...");
console.log(error);
}
}
request.post(oAuthOptions, oAuthCallBack);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment