2.0.3 • Published 1 year ago

edp-helper-lib v2.0.3

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

edp-helper-lib

edp-helper-lib is a library that encapsulate process of getting EDP Token from localstorage.

Installation

edp-helper-lib is available on BAMS (If you haven't setup BAM credential yet, please follow this link for instruction).

npm install edp-helper-lib

For UMD Then import edp-helper-lib and use it in your project.

For TypeScript (Angular) Import "{path}/edpHelper/EDPHelper" in App module Then add EDP to list of providers

Usage

edp-helper-lib provide you 2 ways to use it.

  1. Manually get token
  2. Automatically set XMLHttp header by whitelist

Before proceeding to use either way 1 or 2. You need to set the required properties.

Setting the required information

EDP need to keep track of usage. The required information is app_id and scope. You need to set those property before proceed to get the token or else, edp-helper-lib will not return or set token for you.

To do so, just simply set the properties as sample below:

EDP.appId = {yourAppIdHere};

EDP.scopes = {1stScope}, {2ndScope};

To create appId, please follow this document

Manually get token

To do this, just called the method getAccessToken() which will return promise.

EDP.getAccessToken().then(token => {

//use your token here

}).catch(error => {

//log your error here

});

Please note that YOU SHOULD NOT STORE THE TOKEN IN MEMORY. Everytime you called the getAccessToken(), the lib will check for the availability of EDP Helper in CSM and validity of token. If you really need to store the token, you are on your own.

Automatically set XMLHttp header by whitelist

Call the metohd SetAutoXMLHttpHeader(whitelist : string[]) to do so. The edp-helper-lib will override XMLHttpRequest.open() method to setting the header if any of the uri in whitelist match with the url. Please note that if your app is not request via XMLHttpRequest, this method will not work.

const whitelist = 'urlA', 'urlB', 'urlC';

EDP.setTokenForXMLHttp(whitelist);

The whitelist can be acquired via Jet.Settings. Below is the set of current setting (as of 24/05/2019, not recommended to hard-coded in your application, just use it for testing).

e5whitelist = ['eds-gw-204891-main-dev.tr-fr-nonprod.aws-int.thomsonreuters.com',

'eds-gw-204891-main-qa.tr-fr-nonprod.aws-int.thomsonreuters.com',

'eds-gw-204891-main-pre.tr-fr-nonprod.aws-int.thomsonreuters.com',

'eds-gw-204891-euw1-ppe-stg.tr-fr-nonprod.aws-int.thomsonreuters.com',

'eds-gw-204891-use1-ppe-stg.tr-fr-nonprod.aws-int.thomsonreuters.com',

'api.edp.thomsonreuters.com',

'api.refinitiv.com',

'eds-gw-204891-use1-prd-stg.awsedp.thomsonreuters.com',

'eds-gw-204891-euw1-prd-stg.awsedp.thomsonreuters.com',

'eds-gw-204891-euw1-prod.awsedp.thomsonreuters.com',

'api.awsedp.thomsonreuters.com',

'eds-gw-204891-use1-ppe.fr-nonprod.aws.thomsonreuters.com'

];

To turn-off this automatic header. Just call setTokenForXMLHttp again with empty array of string.

const whitelist = [];

EDP.setTokenForXMLHttp(whitelist);

When turning this automatic mode on. The edp-helper-lib will detect change of Token and always use new Token.

Development

  1. npm install
  2. npm run build

Deployment

  1. npm run build
  2. npm run build-to-bam

For contributions, fork master branch and raise a merge request.

Need more information about edp-helper ?

Please follow this link to see the overview of edp-helper-app and edp-helper-lib