I have been trying to use this elegant looking package to authenticate with Jawbone API. But I keep getting this error -
I have configured my "app" with the Jawbone API service to use these Redirect URIs -
My config file looks like this -
module.exports = { 'server': { 'protocol' : 'https', 'host' : 'localhost', 'port' : 5000, 'callback' : '/done', 'transport' : 'session', 'state' : true }, 'jawbone' : { 'key' : '6f*********', 'secret' : '9b************************', 'callback' : '/connect/jawbone/callback', 'scope' : ['basic_read', 'sleep_read'], } }
I've tried to follow the authors examples to produce an app.js like this -
var config = require('./config'); var express = require('express'); var session = require('express-session'); var Grant = require('grant-express'); var grant = new Grant(require('./config.js')); var bodyParser = require('body-parser') var app = express() var Purest = require('purest'); var jawbone = new Purest({provider:'jawbone'}); var https = require('https'); var fs = require('fs'); var logger = require('morgan') app.use(logger('dev')) app.use(bodyParser.urlencoded({extended:true})); app.use(session({secret:'grant'})); app.use(grant); app.get('/done', function (req, res) { console.log(req.query); res.end(JSON.stringify(req.query, null, 2)); }); /* jawbone.get('users/@me', { auth:{bearer:'[ACCESS_TOKEN]'} }, function (err, res, body) { // body is a parsed JSON object containing the response data console.log(body); }) */ var sslOptions = { key: fs.readFileSync('./.server.key'), cert: fs.readFileSync('./.server.crt') }; var secureServer = https.createServer(sslOptions, app).listen(config.server.port, function(){ console.log('Listening on port ' + config.server.port); });
I assume I'm making a noob-error and probably misreading the documentation or examples. Can someone point out what I have misconfigured?