Skip to content

Commit

Permalink
feat: add verification for token
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Liendo committed Jul 3, 2018
1 parent 057a427 commit a80547d
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 21 deletions.
29 changes: 14 additions & 15 deletions routes/slackv1-router.js
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
const express = require('express')
const slackv1Router = express.Router()
const {getSlackToken} = require('../services/slack-oauth')
const {clapback,getFormData} = require('../services/slack-transforms')
const crypto = require('crypto')
const {clapback} = require('../services/slack-transforms')

const {CLIENT_ID, CLIENT_SECRET} = process.env
const {CLIENT_ID, CLIENT_SECRET, VERIFICATION_TOKEN} = process.env

slackv1Router.post('/sassy', (req,res) => {

const {text} = req.body
const formData = getFormData(req.body)
const timestamp = req.get('X-Slack-Request-Timestamp')
const baseString = `v0:${timestamp}:${formData}`
const hmac = crypto.createHmac('sha256', baseString)
console.log(formData)
console.log(hmac.digest('hex'))
const {text, token} = req.body
const clapbackText = clapback(text)

console.log('the hmac value is:', hmac)
if(token === VERIFICATION_TOKEN) {

res.status(200).json({
response_type: "in_channel",
text: clapbackText
})
res.status(200).json({
response_type: "in_channel",
text: clapbackText
})
}else {
res.status(200).json({
response_type:'ephemeral',
text: 'request not valid'
})
}
})

slackv1Router.get('/auth', (req,res) => {
Expand Down
6 changes: 0 additions & 6 deletions services/slack-transforms.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,4 @@ module.exports.clapback = function(text) {
.split(' ')
.map(word => `${word} :clap::skin-tone-5:`)
.join(' ')
}

module.exports.getFormData = function getFormData(object) {
const formData = new FormData();
Object.keys(object).forEach(key => formData.append(key, object[key]));
return formData
}

0 comments on commit a80547d

Please sign in to comment.