Skip to content

Commit fa1b763

Browse files
author
sachin-maheshwari
authored
Merge pull request #12 from topcoder-platform/feature/m2mtoken-support
Feature/m2mtoken support
2 parents b0b2e02 + 46ee8d7 commit fa1b763

File tree

7 files changed

+54
-3063
lines changed

7 files changed

+54
-3063
lines changed

common/helper.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,12 +129,10 @@ function signJwtToken (payload) {
129129
/**
130130
* Validate the event based on the source service, type, and message.
131131
*
132-
* @param {String} sourceServiceName the source service name
133132
* @param {Object} event the event
134133
*/
135-
function validateEvent (sourceServiceName, event) {
134+
function validateEvent (event) {
136135
const schema = Joi.object().keys({
137-
sourceServiceName: Joi.string().required(),
138136
event: Joi.object().keys({
139137
type: Joi
140138
.string()
@@ -146,7 +144,7 @@ function validateEvent (sourceServiceName, event) {
146144
})
147145
})
148146

149-
const { error } = Joi.validate({sourceServiceName, event}, schema)
147+
const { error } = Joi.validate({event}, schema)
150148
if (error) {
151149
throw error
152150
}

config/default.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,23 @@ module.exports = {
77
LOG_LEVEL: process.env.LOG_LEVEL || 'debug',
88
CONTEXT_PATH: process.env.API_VERSION || '/eventbus/',
99
PORT: process.env.PORT || '3000',
10-
authSecret: process.env.JWT_TOKEN_SECRET,
11-
authDomain: process.env.AUTH_DOMAIN,
12-
validIssuers: process.env.VALID_ISSUERS ? process.env.VALID_ISSUERS.replace(/\\"/g, '') : null,
10+
AUTH_SECRET: process.env.JWT_TOKEN_SECRET,
11+
VALID_ISSUERS: process.env.VALID_ISSUERS ? process.env.VALID_ISSUERS.replace(/\\"/g, '') : null,
1312
JWT_TOKEN_SECRET: process.env.JWT_TOKEN_SECRET || '',
1413
JWT_TOKEN_EXPIRES_IN: process.env.JWT_TOKEN_EXPIRES_IN || '100 days',
1514
KAFKA_TOPIC_PREFIX: process.env.KAFKA_TOPIC_PREFIX || '',
1615
ALLOWED_SERVICES: process.env.ALLOWED_SERVICES || ['project-service', 'message-service'],
1716
TC_EMAIL_SERVICE_URL: process.env.TC_EMAIL_SERVICE_URL,
1817
TC_EMAIL_SERVICE_TOKEN: process.env.TC_EMAIL_SERVICE_TOKEN,
19-
TC_EMAIL_SERVICE_CACHE_PERIOD: process.env.TC_EMAIL_SERVICE_CACHE_PERIOD || (3600 * 1000)
18+
TC_EMAIL_SERVICE_CACHE_PERIOD: process.env.TC_EMAIL_SERVICE_CACHE_PERIOD || (3600 * 1000),
19+
20+
// Configuration for generating machine to machine auth0 token.
21+
// The token will be used for calling another internal API.
22+
AUTH0_URL: process.env.AUTH0_URL || '',
23+
AUTH0_AUDIENCE: process.env.AUTH0_AUDIENCE || '',
24+
// The token will be cached.
25+
// We define the time period of the cached token.
26+
TOKEN_CACHE_TIME: process.env.TOKEN_CACHE_TIME || 86400000,
27+
AUTH0_CLIENT_ID: process.env.AUTH0_CLIENT_ID,
28+
AUTH0_CLIENT_Secret: process.env.AUTH0_CLIENT_SECRET,
2029
}

controllers/EventController.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const MessageBusService = require('../services/MessageBusService')
1111
* @param {Function} next the next middleware
1212
*/
1313
async function create (req, res, next) {
14-
await MessageBusService.postEvent(req.authUser.name, req.body)
14+
await MessageBusService.postEvent(req.body)
1515
res.status(204).end()
1616
next()
1717
}

deploy.sh

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ VALID_ISSUERS=$(eval "echo \$${ENV}_VALID_ISSUERS")
5151
TC_EMAIL_SERVICE_URL=$(eval "echo \$${ENV}_TC_EMAIL_SERVICE_URL")
5252
TC_EMAIL_SERVICE_TOKEN=$(eval "echo \$${ENV}_TC_EMAIL_SERVICE_TOKEN")
5353

54+
AUTH0_URL=$(eval "echo \$${ENV}_AUTH0_UR")
55+
AUTH0_AUDIENCE=$(eval "echo \$${ENV}_AUTH0_AUDIENCE")
56+
TOKEN_CACHE_TIME=$(eval "echo \$${ENV}_TOKEN_CACHE_TIME")
57+
AUTH0_CLIENT_ID=$(eval "echo \$${ENV}_AUTH0_CLIENT_ID")
58+
AUTH0_CLIENT_SECRET=$(eval "echo \$${ENV}_AUTH0_CLIENT_SECRET")
59+
5460
echo $APP_NAME
5561

5662
configure_aws_cli() {
@@ -147,14 +153,34 @@ make_task_def(){
147153
"name": "VALID_ISSUERS",
148154
"value": "%s"
149155
},
150-
{
151-
"name": "TC_EMAIL_SERVICE_URL",
152-
"value": "%s"
153-
},
154-
{
155-
"name": "TC_EMAIL_SERVICE_TOKEN",
156-
"value": "%s"
157-
}
156+
{
157+
"name": "TC_EMAIL_SERVICE_URL",
158+
"value": "%s"
159+
},
160+
{
161+
"name": "TC_EMAIL_SERVICE_TOKEN",
162+
"value": "%s"
163+
},
164+
{
165+
"name": "AUTH0_URL",
166+
"value": "%s"
167+
},
168+
{
169+
"name": "AUTH0_AUDIENCE",
170+
"value": "%s"
171+
},
172+
{
173+
"name": "AUTH0_CLIENT_ID",
174+
"value": "%s"
175+
},
176+
{
177+
"name": "AUTH0_CLIENT_SECRET",
178+
"value": "%s"
179+
},
180+
{
181+
"name": "TOKEN_CACHE_TIME",
182+
"value": "%s"
183+
}
158184
],
159185
"portMappings": [
160186
{
@@ -174,7 +200,7 @@ make_task_def(){
174200
}
175201
]'
176202

177-
task_def=$(printf "$task_template" $AWS_ECS_CONTAINER_NAME $AWS_ACCOUNT_ID $AWS_REGION $AWS_REPOSITORY $TAG $ENV $KAFKA_URL "$KAFKA_CLIENT_CERT" "$KAFKA_CLIENT_CERT_KEY" $LOG_LEVEL $JWT_TOKEN_SECRET "$KAFKA_TOPIC_PREFIX" "$ALLOWED_SERVICES" $JWT_TOKEN_EXPIRES_IN "$API_VERSION" $PORT "$AUTH_DOMAIN" "$VALID_ISSUERS" $TC_EMAIL_SERVICE_URL $TC_EMAIL_SERVICE_TOKEN $AWS_ECS_CLUSTER $AWS_REGION $AWS_ECS_CLUSTER $ENV)
203+
task_def=$(printf "$task_template" $AWS_ECS_CONTAINER_NAME $AWS_ACCOUNT_ID $AWS_REGION $AWS_REPOSITORY $TAG $ENV $KAFKA_URL "$KAFKA_CLIENT_CERT" "$KAFKA_CLIENT_CERT_KEY" $LOG_LEVEL $JWT_TOKEN_SECRET "$KAFKA_TOPIC_PREFIX" "$ALLOWED_SERVICES" $JWT_TOKEN_EXPIRES_IN "$API_VERSION" $PORT "$AUTH_DOMAIN" "$VALID_ISSUERS" $TC_EMAIL_SERVICE_URL $TC_EMAIL_SERVICE_TOKEN "$AUTH0_URL" "$AUTH0_AUDIENCE" $AUTH0_CLIENT_ID "$AUTH0_CLIENT_SECRET" $TOKEN_CACHE_TIME $AWS_ECS_CLUSTER $AWS_REGION $AWS_ECS_CLUSTER $ENV)
178204
}
179205

180206
register_definition() {

0 commit comments

Comments
 (0)