New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@uportal/open-id-connect

Package Overview
Dependencies
Maintainers
6
Versions
83
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@uportal/open-id-connect - npm Package Compare versions

Comparing version 0.0.9 to 0.1.0

173

dist/open-id-connect.js

@@ -1,1 +0,172 @@

'use strict';var _slicedToArray=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{!d&&h['return']&&h['return']()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError('Invalid attempt to destructure non-iterable instance')}}();Object.defineProperty(exports,'__esModule',{value:!0});exports.tokenize=tokenize;var _axios=require('axios'),_jsonwebtoken=require('jsonwebtoken');require('core-js/modules/es6.typed.array-buffer'),require('core-js/modules/es6.typed.data-view'),require('core-js/modules/es6.typed.int8-array'),require('core-js/modules/es6.typed.uint8-array'),require('core-js/modules/es6.typed.uint8-clamped-array'),require('core-js/modules/es6.typed.int16-array'),require('core-js/modules/es6.typed.uint16-array'),require('core-js/modules/es6.typed.int32-array'),require('core-js/modules/es6.typed.uint32-array'),require('core-js/modules/es6.typed.float32-array'),require('core-js/modules/es6.typed.float64-array'),require('core-js/modules/es6.map'),require('core-js/modules/es6.set'),require('core-js/modules/es6.weak-map'),require('core-js/modules/es6.weak-set'),require('core-js/modules/es6.reflect.apply'),require('core-js/modules/es6.reflect.construct'),require('core-js/modules/es6.reflect.define-property'),require('core-js/modules/es6.reflect.delete-property'),require('core-js/modules/es6.reflect.get'),require('core-js/modules/es6.reflect.get-own-property-descriptor'),require('core-js/modules/es6.reflect.get-prototype-of'),require('core-js/modules/es6.reflect.has'),require('core-js/modules/es6.reflect.is-extensible'),require('core-js/modules/es6.reflect.own-keys'),require('core-js/modules/es6.reflect.prevent-extensions'),require('core-js/modules/es6.reflect.set'),require('core-js/modules/es6.reflect.set-prototype-of'),require('core-js/modules/es6.promise'),require('core-js/modules/es6.symbol'),require('core-js/modules/es6.object.freeze'),require('core-js/modules/es6.object.seal'),require('core-js/modules/es6.object.prevent-extensions'),require('core-js/modules/es6.object.is-frozen'),require('core-js/modules/es6.object.is-sealed'),require('core-js/modules/es6.object.is-extensible'),require('core-js/modules/es6.object.get-own-property-descriptor'),require('core-js/modules/es6.object.get-prototype-of'),require('core-js/modules/es6.object.keys'),require('core-js/modules/es6.object.get-own-property-names'),require('core-js/modules/es6.object.assign'),require('core-js/modules/es6.object.is'),require('core-js/modules/es6.object.set-prototype-of'),require('core-js/modules/es6.function.name'),require('core-js/modules/es6.string.raw'),require('core-js/modules/es6.string.from-code-point'),require('core-js/modules/es6.string.code-point-at'),require('core-js/modules/es6.string.repeat'),require('core-js/modules/es6.string.starts-with'),require('core-js/modules/es6.string.ends-with'),require('core-js/modules/es6.string.includes'),require('core-js/modules/es6.regexp.flags'),require('core-js/modules/es6.regexp.match'),require('core-js/modules/es6.regexp.replace'),require('core-js/modules/es6.regexp.split'),require('core-js/modules/es6.regexp.search'),require('core-js/modules/es6.array.from'),require('core-js/modules/es6.array.of'),require('core-js/modules/es6.array.copy-within'),require('core-js/modules/es6.array.find'),require('core-js/modules/es6.array.find-index'),require('core-js/modules/es6.array.fill'),require('core-js/modules/es6.array.iterator'),require('core-js/modules/es6.number.is-finite'),require('core-js/modules/es6.number.is-integer'),require('core-js/modules/es6.number.is-safe-integer'),require('core-js/modules/es6.number.is-nan'),require('core-js/modules/es6.number.epsilon'),require('core-js/modules/es6.number.min-safe-integer'),require('core-js/modules/es6.number.max-safe-integer'),require('core-js/modules/es6.math.acosh'),require('core-js/modules/es6.math.asinh'),require('core-js/modules/es6.math.atanh'),require('core-js/modules/es6.math.cbrt'),require('core-js/modules/es6.math.clz32'),require('core-js/modules/es6.math.cosh'),require('core-js/modules/es6.math.expm1'),require('core-js/modules/es6.math.fround'),require('core-js/modules/es6.math.hypot'),require('core-js/modules/es6.math.imul'),require('core-js/modules/es6.math.log1p'),require('core-js/modules/es6.math.log10'),require('core-js/modules/es6.math.log2'),require('core-js/modules/es6.math.sign'),require('core-js/modules/es6.math.sinh'),require('core-js/modules/es6.math.tanh'),require('core-js/modules/es6.math.trunc'),require('core-js/modules/es7.array.includes'),require('core-js/modules/es7.object.values'),require('core-js/modules/es7.object.entries'),require('core-js/modules/es7.object.get-own-property-descriptors'),require('core-js/modules/es7.string.pad-start'),require('core-js/modules/es7.string.pad-end'),require('core-js/modules/web.timers'),require('core-js/modules/web.immediate'),require('core-js/modules/web.dom.iterable'),require('regenerator-runtime/runtime');function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(a,c){function d(e,f){try{var g=b[e](f),h=g.value}catch(a){return void c(a)}return g.done?void a(h):Promise.resolve(h).then(function(a){d('next',a)},function(a){d('throw',a)})}return d('next')})}}var token=null;exports.default=function(){var a=_asyncToGenerator(regeneratorRuntime.mark(function a(){var b,c,d=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},e=d.userInfoApiUrl,f=e===void 0?'/uPortal/api/v5-1/userinfo':e,g=d.timeout,h=g===void 0?5e4:g,i=d.propertyTransforms,j=i===void 0?{}:i,k=arguments[1];return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(null===token){a.next=2;break}return a.abrupt('return',token);case 2:return a.prev=2,a.next=5,(0,_axios.get)(f,{responseType:'text'});case 5:if(b=a.sent,c=b.data,token=tokenize(c),Object.entries(j).forEach(function(a){var b=_slicedToArray(a,2),c=b[0],d=b[1];token.decoded[c]=d(token.decoded[c])}),setTimeout(function(){token=null},h),!k){a.next=12;break}return a.abrupt('return',k(null,token));case 12:return a.abrupt('return',token);case 15:if(a.prev=15,a.t0=a['catch'](2),!k){a.next=19;break}return a.abrupt('return',k(a.t0));case 19:throw a.t0;case 20:case'end':return a.stop();}},a,this,[[2,15]])}));return function(){return a.apply(this,arguments)}}();function tokenize(a){return{encoded:a,decoded:(0,_jsonwebtoken.decode)(a)}}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = openIdConnect;
exports.tokenize = tokenize;
require("core-js/modules/es7.symbol.async-iterator");
require("core-js/modules/es6.symbol");
require("core-js/modules/es6.array.iterator");
require("core-js/modules/es7.object.entries");
require("core-js/modules/web.dom.iterable");
require("regenerator-runtime/runtime");
require("core-js/modules/es6.promise");
var _axios = require("axios");
var _jsonwebtoken = require("jsonwebtoken");
require("babel-polyfill");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; }
// needed to apply async/await polyfills
var token = null;
/**
* Options for getting tokens
* @typedef {Object} Options
* @property {string} [userInfoApiUrl] - url to Open ID Connect endpoint
* @property {number} [timeout] - time in milliseconds until token will be
* invalid
* @property {Object} [propertyTransforms] - apply additional transforms to
* specific properties
*/
/**
* Callback to resolve Open ID Connect token
* @callback tokenCallback
* @param {?Error} err -
* @param {?Object} token - with encoded and decoded values
*/
/**
* Get token from uPortal Open ID Connect service
* @param {Options} [options] - allow setting a custom user info API url and a
* custom clock smear
* @param {tokenCallback} [callback] - optional callback, alternative to Promise
* API
* @return {Promise<Object>} Promise that resolves with the encoded and decoded
* token in an Object
*/
function openIdConnect() {
return _openIdConnect.apply(this, arguments);
}
/**
* Extract JWT contents
* @param {string} jwt - JSON Web Token to decode
* @return {Object} with encoded and decoded values
*/
function _openIdConnect() {
_openIdConnect = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee() {
var _ref,
_ref$userInfoApiUrl,
userInfoApiUrl,
_ref$timeout,
timeout,
_ref$propertyTransfor,
propertyTransforms,
callback,
_ref2,
data,
_args = arguments;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_ref = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, _ref$userInfoApiUrl = _ref.userInfoApiUrl, userInfoApiUrl = _ref$userInfoApiUrl === void 0 ? '/uPortal/api/v5-1/userinfo' : _ref$userInfoApiUrl, _ref$timeout = _ref.timeout, timeout = _ref$timeout === void 0 ? 50000 : _ref$timeout, _ref$propertyTransfor = _ref.propertyTransforms, propertyTransforms = _ref$propertyTransfor === void 0 ? {} : _ref$propertyTransfor;
callback = _args.length > 1 ? _args[1] : undefined;
if (!(token !== null)) {
_context.next = 4;
break;
}
return _context.abrupt("return", token);
case 4:
_context.prev = 4;
_context.next = 7;
return (0, _axios.get)(userInfoApiUrl, {
responseType: 'text'
});
case 7:
_ref2 = _context.sent;
data = _ref2.data;
// store the encoded and decoded versions
token = tokenize(data); // Allow for additional transforms to be applied to decoded properties
Object.entries(propertyTransforms).forEach(function (_ref3) {
var _ref4 = _slicedToArray(_ref3, 2),
property = _ref4[0],
transform = _ref4[1];
token.decoded[property] = transform(token.decoded[property]);
}); // automatically clear token after expiration
setTimeout(function () {
token = null;
}, timeout); // pass value to optional call back
if (!callback) {
_context.next = 14;
break;
}
return _context.abrupt("return", callback(null, token));
case 14:
return _context.abrupt("return", token);
case 17:
_context.prev = 17;
_context.t0 = _context["catch"](4);
if (!callback) {
_context.next = 21;
break;
}
return _context.abrupt("return", callback(_context.t0));
case 21:
throw _context.t0;
case 22:
case "end":
return _context.stop();
}
}
}, _callee, this, [[4, 17]]);
}));
return _openIdConnect.apply(this, arguments);
}
function tokenize(jwt) {
return {
encoded: jwt,
decoded: (0, _jsonwebtoken.decode)(jwt)
};
}

19

package.json
{
"name": "@uportal/open-id-connect",
"description": "A shared Open ID Connect authorization helper for uPortal",
"version": "0.0.9",
"version": "0.1.0",
"repository": {

@@ -43,7 +43,9 @@ "type": "git",

"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-env": "^1.6.1",
"babel-preset-minify": "^0.4.1",
"@babel/cli": "^7.0.0-0",
"@babel/core": "^7.0.0-0",
"@babel/preset-env": "^7.0.0-0",
"babel-core": "^7.0.0-0",
"babel-jest": "^22.4.4",
"eslint-plugin-jest": "^21.15.1",
"jest": "^22.4.3"
"jest": "^22.4.4"
},

@@ -67,8 +69,7 @@ "eslintConfig": {

[
"env",
"@babel/preset-env",
{
"useBuiltIns": true
"useBuiltIns": "usage"
}
],
"minify"
]
]

@@ -75,0 +76,0 @@ },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc