Comparing version 1.0.1 to 1.1.0
'use strict'; | ||
var _regenerator = require('babel-runtime/regenerator'); | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
var _regenerator2 = _interopRequireDefault(_regenerator); | ||
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); | ||
var _promise = require('babel-runtime/core-js/promise'); | ||
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
var _promise2 = _interopRequireDefault(_promise); | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); | ||
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); | ||
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); | ||
var _createClass2 = require('babel-runtime/helpers/createClass'); | ||
var _createClass3 = _interopRequireDefault(_createClass2); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var expressJwt = require('express-jwt'), | ||
@@ -29,5 +17,7 @@ flow = require('middleware-flow'), | ||
var Limes = function () { | ||
var Limes = | ||
/*#__PURE__*/ | ||
function () { | ||
function Limes(options) { | ||
(0, _classCallCheck3.default)(this, Limes); | ||
(0, _classCallCheck2.default)(this, Limes); | ||
@@ -37,5 +27,7 @@ if (!options) { | ||
} | ||
if (!options.identityProviderName) { | ||
throw new Error('Identity provider name is missing.'); | ||
} | ||
if (!options.privateKey && !options.certificate) { | ||
@@ -49,5 +41,3 @@ throw new Error('Specify private key and / or certificate.'); | ||
_options$expiresInMin = options.expiresInMinutes, | ||
expiresInMinutes = _options$expiresInMin === undefined ? 24 * 60 : _options$expiresInMin; | ||
expiresInMinutes = _options$expiresInMin === void 0 ? 24 * 60 : _options$expiresInMin; | ||
this.identityProviderName = identityProviderName; | ||
@@ -59,4 +49,4 @@ this.privateKey = privateKey; | ||
(0, _createClass3.default)(Limes, [{ | ||
key: 'issueTokenFor', | ||
(0, _createClass2.default)(Limes, [{ | ||
key: "issueTokenFor", | ||
value: function issueTokenFor(subject) { | ||
@@ -77,3 +67,3 @@ var payload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
}, { | ||
key: 'issueTokenForAnonymous', | ||
key: "issueTokenForAnonymous", | ||
value: function issueTokenForAnonymous(payload) { | ||
@@ -83,12 +73,8 @@ return this.issueTokenFor('anonymous', payload); | ||
}, { | ||
key: 'issueDecodedTokenForAnonymous', | ||
key: "issueDecodedTokenForAnonymous", | ||
value: function issueDecodedTokenForAnonymous(options) { | ||
var payloadWhenAnonymous = options.payloadWhenAnonymous; | ||
var issuedAt = Math.floor(Date.now() / 1000); | ||
var expiresAt = issuedAt + this.expiresInMinutes * 60; | ||
var token = payloadWhenAnonymous; | ||
token.iat = issuedAt; | ||
@@ -98,16 +84,17 @@ token.exp = expiresAt; | ||
token.sub = 'anonymous'; | ||
return token; | ||
} | ||
}, { | ||
key: 'verifyToken', | ||
key: "verifyToken", | ||
value: function () { | ||
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(token) { | ||
var _verifyToken = (0, _asyncToGenerator2.default)( | ||
/*#__PURE__*/ | ||
_regenerator.default.mark(function _callee(token) { | ||
var _this = this; | ||
return _regenerator2.default.wrap(function _callee$(_context) { | ||
return _regenerator.default.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
return _context.abrupt('return', new _promise2.default(function (resolve, reject) { | ||
return _context.abrupt("return", new Promise(function (resolve, reject) { | ||
jwt.verify(token, _this.certificate, { | ||
@@ -125,3 +112,3 @@ issuer: _this.identityProviderName | ||
case 1: | ||
case 'end': | ||
case "end": | ||
return _context.stop(); | ||
@@ -133,10 +120,8 @@ } | ||
function verifyToken(_x2) { | ||
return _ref.apply(this, arguments); | ||
} | ||
return verifyToken; | ||
return function verifyToken(_x) { | ||
return _verifyToken.apply(this, arguments); | ||
}; | ||
}() | ||
}, { | ||
key: 'verifyTokenMiddlewareExpress', | ||
key: "verifyTokenMiddlewareExpress", | ||
value: function verifyTokenMiddlewareExpress() { | ||
@@ -147,5 +132,3 @@ var _this2 = this; | ||
var _options$payloadWhenA = options.payloadWhenAnonymous, | ||
payloadWhenAnonymous = _options$payloadWhenA === undefined ? {} : _options$payloadWhenA; | ||
payloadWhenAnonymous = _options$payloadWhenA === void 0 ? {} : _options$payloadWhenA; | ||
return flow.try(expressJwt({ | ||
@@ -168,3 +151,5 @@ secret: this.certificate, | ||
req.user = _this2.issueDecodedTokenForAnonymous({ payloadWhenAnonymous: payloadWhenAnonymous }); | ||
req.user = _this2.issueDecodedTokenForAnonymous({ | ||
payloadWhenAnonymous: payloadWhenAnonymous | ||
}); | ||
next(); | ||
@@ -171,0 +156,0 @@ }); |
{ | ||
"name": "limes", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"description": "limes authenticates users.", | ||
@@ -17,5 +17,5 @@ "contributors": [ | ||
"dependencies": { | ||
"babel-runtime": "6.26.0", | ||
"express-jwt": "5.3.0", | ||
"jsonwebtoken": "8.1.1", | ||
"@babel/runtime": "7.1.2", | ||
"express-jwt": "5.3.1", | ||
"jsonwebtoken": "8.3.0", | ||
"middleware-flow": "0.8.0" | ||
@@ -25,6 +25,5 @@ }, | ||
"assertthat": "1.0.0", | ||
"express": "4.16.2", | ||
"roboter": "0.16.0", | ||
"roboter-server": "0.16.0", | ||
"supertest": "3.0.0" | ||
"express": "4.16.4", | ||
"roboter": "2.0.0", | ||
"supertest": "3.3.0" | ||
}, | ||
@@ -31,0 +30,0 @@ "repository": { |
@@ -78,3 +78,3 @@ # limes | ||
```shell | ||
$ bot | ||
$ npx roboter | ||
``` | ||
@@ -81,0 +81,0 @@ |
@@ -11,7 +11,7 @@ 'use strict'; | ||
const Limes = require('../../lib/Limes'); | ||
const Limes = require('../../src/Limes'); | ||
/* eslint-disable no-sync */ | ||
const certificate = fs.readFileSync(path.join(__dirname, '..', 'keys', 'certificate.pem')), | ||
privateKey = fs.readFileSync(path.join(__dirname, '..', 'keys', 'privateKey.pem')); | ||
const certificate = fs.readFileSync(path.join(__dirname, '..', 'shared', 'keys', 'certificate.pem')), | ||
privateKey = fs.readFileSync(path.join(__dirname, '..', 'shared', 'keys', 'privateKey.pem')); | ||
/* eslint-enable no-sync */ | ||
@@ -18,0 +18,0 @@ |
4
30677
9
509
+ Added@babel/runtime@7.1.2
+ Added@babel/runtime@7.1.2(transitive)
+ Addedexpress-jwt@5.3.1(transitive)
+ Addedjsonwebtoken@8.3.0(transitive)
+ Addedregenerator-runtime@0.12.1(transitive)
- Removedbabel-runtime@6.26.0
- Removedbabel-runtime@6.26.0(transitive)
- Removedcore-js@2.6.12(transitive)
- Removedexpress-jwt@5.3.0(transitive)
- Removedhoek@2.16.3(transitive)
- Removedisemail@1.2.0(transitive)
- Removedjoi@6.10.1(transitive)
- Removedjsonwebtoken@7.4.38.1.1(transitive)
- Removedmoment@2.30.1(transitive)
- Removedregenerator-runtime@0.11.1(transitive)
- Removedtopo@1.1.0(transitive)
- Removedxtend@4.0.2(transitive)
Updatedexpress-jwt@5.3.1
Updatedjsonwebtoken@8.3.0