Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 01ffa97

Browse files
author
sachin-maheshwari
authored
Merge pull request #89 from topcoder-platform/feature/m2m-support-2
Feature/m2m support
2 parents d60b237 + 2359fae commit 01ffa97

File tree

6 files changed

+38
-21
lines changed

6 files changed

+38
-21
lines changed

config/custom-environment-variables.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ module.exports = {
1818
URL: 'RABBITMQ_URL',
1919
},
2020
TC_SLACK_WEBHOOK_URL: 'TC_SLACK_WEBHOOK_URL',
21-
SYSTEM_USER_CLIENT_ID: 'SYSTEM_USER_CLIENT_ID',
22-
SYSTEM_USER_CLIENT_SECRET: 'SYSTEM_USER_CLIENT_SECRET',
21+
AUTH0_URL: 'AUTH0_URL',
22+
AUTH0_AUDIENCE: 'AUTH0_AUDIENCE',
23+
TOKEN_CACHE_TIME: 'TOKEN_CACHE_TIME',
24+
AUTH0_CLIENT_ID: 'AUTH0_CLIENT_ID',
25+
AUTH0_CLIENT_SECRET: 'AUTH0_CLIENT_SECRET',
2326
};

config/default.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,6 @@ module.exports = {
3333

3434
// The base url to the project/user API server
3535
API_BASE_URL: 'http://localhost:3001',
36-
// Id and secret to generate token to make calls as system admin user
37-
SYSTEM_USER_CLIENT_ID: '',
38-
SYSTEM_USER_CLIENT_SECRET: '',
3936

4037
// Disable delay exchange and use direct instead ( delete existing delay exchnge after changing)
4138
DISABLE_DELAY_EXCHANGE: false,

config/test.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,9 @@ module.exports = {
2323
},
2424
TC_SLACK_WEBHOOK_URL: 'http://localhost:3001/slack',
2525
API_BASE_URL: 'http://localhost:3001',
26+
AUTH0_URL: process.env.DEV_AUTH0_URL || '',
27+
AUTH0_AUDIENCE: process.env.DEV_AUTH0_AUDIENCE || '',
28+
TOKEN_CACHE_TIME: process.env.DEV_TOKEN_CACHE_TIME || 86400000,
29+
AUTH0_CLIENT_ID: process.env.DEV_AUTH0_CLIENT_ID,
30+
AUTH0_CLIENT_SECRET: process.env.DEV_AUTH0_CLIENT_SECRET,
2631
};

deploy.sh

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,27 @@ make_task_def(){
6060
"value": "%s"
6161
},
6262
{
63-
"name": "SYSTEM_USER_CLIENT_ID",
63+
"name": "TC_SLACK_WEBHOOK_URL",
6464
"value": "%s"
6565
},
6666
{
67-
"name": "SYSTEM_USER_CLIENT_SECRET",
67+
"name": "AUTH0_URL",
6868
"value": "%s"
6969
},
7070
{
71-
"name": "TC_SLACK_WEBHOOK_URL",
71+
"name": "AUTH0_AUDIENCE",
72+
"value": "%s"
73+
},
74+
{
75+
"name": "AUTH0_CLIENT_ID",
76+
"value": "%s"
77+
},
78+
{
79+
"name": "AUTH0_CLIENT_SECRET",
80+
"value": "%s"
81+
},
82+
{
83+
"name": "TOKEN_CACHE_TIME",
7284
"value": "%s"
7385
}
7486
],
@@ -86,13 +98,19 @@ make_task_def(){
8698
CAPTURE_LOGS=$(eval "echo \$${ENV}_CAPTURE_LOGS")
8799
LOGENTRIES_TOKEN=$(eval "echo \$${ENV}_LOGENTRIES_TOKEN")
88100
LOG_LEVEL=$(eval "echo \$${ENV}_LOG_LEVEL")
101+
AUTH0_URL=$(eval "echo \$${ENV}_AUTH0_URL")
102+
AUTH0_AUDIENCE=$(eval "echo \$${ENV}_AUTH0_AUDIENCE")
103+
TOKEN_CACHE_TIME=$(eval "echo \$${ENV}_TOKEN_CACHE_TIME")
104+
AUTH0_CLIENT_ID=$(eval "echo \$${ENV}_AUTH0_CLIENT_ID")
105+
AUTH0_CLIENT_SECRET=$(eval "echo \$${ENV}_AUTH0_CLIENT_SECRET")
106+
89107
if [ "$ENV" = "PROD" ]; then
90108
NODE_ENV=production
91109
elif [ "$ENV" = "DEV" ]; then
92110
NODE_ENV=development
93111
fi
94112

95-
task_def=$(printf "$task_template" $ACCOUNT_ID $AWS_REGION $AWS_REPOSITORY $CIRCLE_SHA1 $NODE_ENV $LOG_LEVEL $CAPTURE_LOGS $LOGENTRIES_TOKEN $RABBITMQ_URL $SYSTEM_USER_CLIENT_ID $SYSTEM_USER_CLIENT_SECRET $TC_SLACK_WEBHOOK_URL $AWS_ECS_CLUSTER $AWS_REGION $NODE_ENV)
113+
task_def=$(printf "$task_template" $ACCOUNT_ID $AWS_REGION $AWS_REPOSITORY $CIRCLE_SHA1 $NODE_ENV $LOG_LEVEL $CAPTURE_LOGS $LOGENTRIES_TOKEN $RABBITMQ_URL $TC_SLACK_WEBHOOK_URL "$AUTH0_URL" "$AUTH0_AUDIENCE" $AUTH0_CLIENT_ID "$AUTH0_CLIENT_SECRET" $TOKEN_CACHE_TIME $AWS_ECS_CLUSTER $AWS_REGION $NODE_ENV)
96114
}
97115

98116
push_ecr_image(){

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
"config": "^1.24.0",
2525
"jackrabbit": "^4.3.0",
2626
"lodash": "^4.16.6",
27-
"request": "^2.78.0"
27+
"request": "^2.78.0",
28+
"tc-core-library-js": "appirio-tech/tc-core-library-js.git#v2.3"
2829
},
2930
"devDependencies": {
3031
"babel-cli": "^6.9.0",

src/handlers/util.js

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ const _ = require('lodash');
1111
const config = require('config');
1212
const Promise = require('bluebird');
1313
const request = require('request');
14+
const tcCoreLibAuth = require('tc-core-library-js').auth;
15+
16+
const M2m = tcCoreLibAuth.m2m(config);
1417

1518
/**
1619
* Makes a GET request to the API server
@@ -39,17 +42,7 @@ function requestPromise(options, cb = null) {
3942
}
4043

4144
const getSystemUserToken = Promise.coroutine(function* () {
42-
const formData = {
43-
clientId: config.get('SYSTEM_USER_CLIENT_ID'),
44-
secret: config.get('SYSTEM_USER_CLIENT_SECRET'),
45-
};
46-
return yield requestPromise(
47-
{
48-
method: 'POST',
49-
url: `${config.get('API_BASE_URL')}/v3/authorizations/`,
50-
form: formData,
51-
},
52-
(data, resolve) => resolve(data.result.content.token));
45+
return yield M2m.getMachineToken(config.AUTH0_CLIENT_ID, config.AUTH0_CLIENT_SECRET);
5346
});
5447

5548
/**

0 commit comments

Comments
 (0)