Security News
Highlights from the 2024 Rails Community Survey
A record 2,709 developers participated in the 2024 Ruby on Rails Community Survey, revealing key tools, practices, and trends shaping the Rails ecosystem.
@adobe/fetch
Advanced tools
Call Adobe APIs
Make calling Adobe APIs a breeze!
This package will handle JWT authentication, token caching and storage.
Otherwise it works exactly as fetch
npm install --save @adobe/fetch
const fs = require('fs');
const config = {
auth: {
clientId: 'asasdfasf',
clientSecret: 'aslfjasljf-=asdfalasjdf==asdfa',
technicalAccountId: 'asdfasdfas@techacct.adobe.com',
orgId: 'asdfasdfasdf@AdobeOrg',
metaScopes: ['ent_dataservices_sdk']
}
};
config.auth.privateKey = fs.readFileSync('private.key');
const adobefetch = require('@adobe/fetch').config(config);
adobefetch("https://platform.adobe.io/some/adobe/api", { method: 'get'})
.then(response => response.json())
.then(json => console.log('Result: ',json));
The config object is where you pass in all the required and optional parameters to authenticate API calls.
parameter | integration name | required | type | default |
---|---|---|---|---|
clientId | API Key (Client ID) | true | String | |
technicalAccountId | Technical account ID | true | String | |
orgId | Organization ID | true | String | |
clientSecret | Client secret | true | String | |
privateKey | true | String | ||
passphrase | false | String | ||
metaScopes | true | Comma separated Sting or an Array | ||
ims | false | String | https://ims-na1.adobelogin.com |
In order to determine which metaScopes you need to register for you can look them up by product in this handy table.
For instance if you need to be authenticated to call API's for both GDPR and User Management you would look them up and find that they are:
They you would create an array of metaScopes as part of the config object. For instance:
const config = {
auth: {
clientId: 'asasdfasf',
clientSecret: 'aslfjasljf-=asdfalasjdf==asdfa',
technicalAccountId: 'asdfasdfas@techacct.adobe.com',
orgId: 'asdfasdfasdf@AdobeOrg',
metaScopes: [
'https://ims-na1.adobelogin.com/s/ent_gdpr_sdk',
'https://ims-na1.adobelogin.com/s/ent_user_sdk'
]
}
};
However, if you omit the IMS url the package will automatically add it for you when making the call to generate the JWT. For example:
const config = {
auth: {
clientId: 'asasdfasf',
clientSecret: 'aslfjasljf-=asdfalasjdf==asdfa',
technicalAccountId: 'asdfasdfas@techacct.adobe.com',
orgId: 'asdfasdfasdf@AdobeOrg',
metaScopes: ['ent_gdpr_sdk', 'ent_user_sdk']
}
};
This is the recommended approach.
Contributions are welcomed! Read the Contributing Guide for more information.
This project is licensed under the Apache V2 License. See LICENSE for more information.
FAQs
Light-weight Fetch implementation transparently supporting both HTTP/1(.1) and HTTP/2
The npm package @adobe/fetch receives a total of 16,719 weekly downloads. As such, @adobe/fetch popularity was classified as popular.
We found that @adobe/fetch demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A record 2,709 developers participated in the 2024 Ruby on Rails Community Survey, revealing key tools, practices, and trends shaping the Rails ecosystem.
Security News
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.