mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1013 B
33 lines
1013 B
var createServer = require('http').createServer
|
|
, request = require('../index')
|
|
, hawk = require('hawk')
|
|
, assert = require('assert')
|
|
;
|
|
|
|
var server = createServer(function (req, resp) {
|
|
|
|
var getCred = function (id, callback) {
|
|
assert.equal(id, 'dh37fgj492je')
|
|
var credentials =
|
|
{ key: 'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn'
|
|
, algorithm: 'sha256'
|
|
, user: 'Steve'
|
|
}
|
|
return callback(null, credentials)
|
|
}
|
|
|
|
hawk.server.authenticate(req, getCred, {}, function (err, credentials, attributes) {
|
|
resp.writeHead(!err ? 200 : 401, { 'Content-Type': 'text/plain' })
|
|
resp.end(!err ? 'Hello ' + credentials.user : 'Shoosh!')
|
|
})
|
|
|
|
})
|
|
|
|
server.listen(8080, function () {
|
|
var creds = {key: 'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn', algorithm: 'sha256', id:'dh37fgj492je'}
|
|
request('http://localhost:8080', {hawk:{credentials:creds}}, function (e, r, b) {
|
|
assert.equal(200, r.statusCode)
|
|
assert.equal(b, 'Hello Steve')
|
|
server.close()
|
|
})
|
|
})
|