@fraym/auth 1.0.25 → 1.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/util/token.d.ts +1 -1
- package/dist/util/token.js +1 -1
- package/package.json +2 -2
package/dist/util/token.d.ts
CHANGED
|
@@ -7,4 +7,4 @@ export interface TokenData {
|
|
|
7
7
|
exp: number;
|
|
8
8
|
data: Record<string, any> | null;
|
|
9
9
|
}
|
|
10
|
-
export declare const getTokenData: (appSecret: string, token: string, requireUserId?: boolean) => Promise<TokenData>;
|
|
10
|
+
export declare const getTokenData: (appSecret: string | string[], token: string, requireUserId?: boolean) => Promise<TokenData>;
|
package/dist/util/token.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get addDataToJwt(){return addDataToJwt},get generateJwt(){return generateJwt},get getTokenData(){return getTokenData}});var _jose=require("jose");function asyncGeneratorStep(gen,resolve,reject,_next,_throw,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 _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype),d=Object.defineProperty;return d(g,"next",{value:verb(0)}),d(g,"throw",{value:verb(1)}),d(g,"return",{value:verb(2)}),typeof Symbol==="function"&&d(g,Symbol.iterator,{value:function(){return this}}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var alg="HS256";var generateJwt=function generateJwt(appSecret,tenantId){var scopes=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],data=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},expirationTime=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"5m";return _async_to_generator(function(){var secret;return _ts_generator(this,function(_state){switch(_state.label){case 0:secret=new TextEncoder().encode(appSecret);return[4,new _jose.SignJWT({type:"access_token",tenantId:tenantId,scopes:scopes,data:data}).setProtectedHeader({alg:alg,typ:"JWT"}).setIssuedAt().setNotBefore("0s").setIssuer("auth").setAudience(["fraym"]).setExpirationTime(expirationTime).sign(secret)];case 1:return[2,_state.sent()]}})})()};var addDataToJwt=function addDataToJwt(appSecret,token,data){return _async_to_generator(function(){var _payload_data,secret,_ref,payload,protectedHeader,newData,key;return _ts_generator(this,function(_state){switch(_state.label){case 0:secret=new TextEncoder().encode(appSecret);return[4,(0,_jose.jwtVerify)(token,secret,{clockTolerance:"10 seconds"})];case 1:_ref=_state.sent(),payload=_ref.payload,protectedHeader=_ref.protectedHeader;if(!payload.exp){throw Error("expiration time is missing in JWT")}newData=(_payload_data=payload.data)!==null&&_payload_data!==void 0?_payload_data:{};for(var key in data){newData[key]=data[key]}return[2,new _jose.SignJWT(_object_spread_props(_object_spread({},payload),{data:newData})).setProtectedHeader(protectedHeader).sign(secret)]}})})()};var getTokenData=function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get addDataToJwt(){return addDataToJwt},get generateJwt(){return generateJwt},get getTokenData(){return getTokenData}});var _jose=require("jose");function asyncGeneratorStep(gen,resolve,reject,_next,_throw,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 _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype),d=Object.defineProperty;return d(g,"next",{value:verb(0)}),d(g,"throw",{value:verb(1)}),d(g,"return",{value:verb(2)}),typeof Symbol==="function"&&d(g,Symbol.iterator,{value:function(){return this}}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var alg="HS256";var generateJwt=function generateJwt(appSecret,tenantId){var scopes=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],data=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},expirationTime=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"5m";return _async_to_generator(function(){var secret;return _ts_generator(this,function(_state){switch(_state.label){case 0:secret=new TextEncoder().encode(appSecret);return[4,new _jose.SignJWT({type:"access_token",tenantId:tenantId,scopes:scopes,data:data}).setProtectedHeader({alg:alg,typ:"JWT"}).setIssuedAt().setNotBefore("0s").setIssuer("auth").setAudience(["fraym"]).setExpirationTime(expirationTime).sign(secret)];case 1:return[2,_state.sent()]}})})()};var addDataToJwt=function addDataToJwt(appSecret,token,data){return _async_to_generator(function(){var _payload_data,secret,_ref,payload,protectedHeader,newData,key;return _ts_generator(this,function(_state){switch(_state.label){case 0:secret=new TextEncoder().encode(appSecret);return[4,(0,_jose.jwtVerify)(token,secret,{clockTolerance:"10 seconds"})];case 1:_ref=_state.sent(),payload=_ref.payload,protectedHeader=_ref.protectedHeader;if(!payload.exp){throw Error("expiration time is missing in JWT")}newData=(_payload_data=payload.data)!==null&&_payload_data!==void 0?_payload_data:{};for(var key in data){newData[key]=data[key]}return[2,new _jose.SignJWT(_object_spread_props(_object_spread({},payload),{data:newData})).setProtectedHeader(protectedHeader).sign(secret)]}})})()};var getTokenData=function getTokenData1(appSecret,token){var requireUserId=arguments.length>2&&arguments[2]!==void 0?arguments[2]:true;return _async_to_generator(function(){var _payload_tenantId,_payload_scopes,_payload_sub,_payload_data,lastError,_iteratorNormalCompletion,_didIteratorError,_iteratorError,_iterator,_step,secret,error,err,secret1,payload;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!Array.isArray(appSecret))return[3,11];_iteratorNormalCompletion=true,_didIteratorError=false,_iteratorError=undefined;_state.label=1;case 1:_state.trys.push([1,8,9,10]);_iterator=appSecret[Symbol.iterator]();_state.label=2;case 2:if(!!(_iteratorNormalCompletion=(_step=_iterator.next()).done))return[3,7];secret=_step.value;if(!secret){lastError=new Error("secret is empty");return[3,6]}_state.label=3;case 3:_state.trys.push([3,5,,6]);return[4,getTokenData(secret,token,requireUserId)];case 4:return[2,_state.sent()];case 5:error=_state.sent();lastError=error;return[3,6];case 6:_iteratorNormalCompletion=true;return[3,2];case 7:return[3,10];case 8:err=_state.sent();_didIteratorError=true;_iteratorError=err;return[3,10];case 9:try{if(!_iteratorNormalCompletion&&_iterator.return!=null){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}return[7];case 10:throw lastError;case 11:secret1=new TextEncoder().encode(appSecret);return[4,(0,_jose.jwtVerify)(token,secret1,{clockTolerance:"10 seconds"})];case 12:payload=_state.sent().payload;if(!payload.exp){throw Error("expiration time is missing in JWT")}if(requireUserId&&!payload.sub){throw Error("user id (subject) is missing in JWT")}return[2,{tenantId:(_payload_tenantId=payload.tenantId)!==null&&_payload_tenantId!==void 0?_payload_tenantId:"",scopes:(_payload_scopes=payload.scopes)!==null&&_payload_scopes!==void 0?_payload_scopes:[],userId:(_payload_sub=payload.sub)!==null&&_payload_sub!==void 0?_payload_sub:"",exp:payload.exp,data:(_payload_data=payload.data)!==null&&_payload_data!==void 0?_payload_data:null}]}})})()};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fraym/auth",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.26",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://github.com/fraym/fraeym",
|
|
6
6
|
"repository": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"main": "dist/index.js",
|
|
23
23
|
"types": "dist/index.d.ts",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@fraym/proto": "^1.0.
|
|
25
|
+
"@fraym/proto": "^1.0.26",
|
|
26
26
|
"@grpc/grpc-js": "^1.14.3",
|
|
27
27
|
"dotenv": "^17.4.2",
|
|
28
28
|
"jose": "4.15.9"
|