@ideem/zsm-react-native
Version:
ZSM React Native
1 lines • 7.83 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports["default"]=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _classPrivateFieldLooseBase2=_interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase"));var _classPrivateFieldLooseKey2=_interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey"));var _host=(0,_classPrivateFieldLooseKey2["default"])("host");var _apiKey=(0,_classPrivateFieldLooseKey2["default"])("apiKey");var _applicationId=(0,_classPrivateFieldLooseKey2["default"])("applicationId");var _customerDefinedIdentifier=(0,_classPrivateFieldLooseKey2["default"])("customerDefinedIdentifier");var _publicKey=(0,_classPrivateFieldLooseKey2["default"])("publicKey");var _credentialID=(0,_classPrivateFieldLooseKey2["default"])("credentialID");var _makePostRequest=(0,_classPrivateFieldLooseKey2["default"])("makePostRequest");var RelyingParty=function(){function RelyingParty(host,apiKey,applicationID){var _this=this;Object.defineProperty(this,_host,{writable:true,value:void 0});Object.defineProperty(this,_apiKey,{writable:true,value:void 0});Object.defineProperty(this,_applicationId,{writable:true,value:void 0});Object.defineProperty(this,_customerDefinedIdentifier,{writable:true,value:void 0});Object.defineProperty(this,_publicKey,{writable:true,value:void 0});Object.defineProperty(this,_credentialID,{writable:true,value:void 0});Object.defineProperty(this,_makePostRequest,{writable:true,value:function value(url,body,headers,method){var _headers;if(body===void 0){body={};}if(headers===void 0){headers={};}if(method===void 0){method='POST';}url=(_this.host.endsWith('/')?_this.host.slice(0,-1):_this.host)+"/"+(url.startsWith('/')?url.slice(1):url);body=typeof body==='object'?body:{};body=Object.assign({customer_defined_identifier:_this.customerDefinedIdentifier,application_id:_this.applicationId},body);var fetchObj={method:method,headers:Object.assign(_this.xhrHeaders,!((_headers=headers)!=null&&_headers.Authorization)?{'Authorization':"Bearer "+(0,_classPrivateFieldLooseBase2["default"])(_this,_apiKey)[_apiKey]}:{},headers),body:JSON.stringify(body)};return fetch(url,fetchObj).then(function(response){return response.ok?response.json():response.json().then(function(errData){throw new Error("Request failed: "+response.statusText+", "+JSON.stringify(errData));});});}});this.clearEnrollmentCredentials=function(){return(0,_classPrivateFieldLooseBase2["default"])(_this,_publicKey)[_publicKey]=(0,_classPrivateFieldLooseBase2["default"])(_this,_credentialID)[_credentialID]=null;};this.clearLoginCredentials=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){return _regenerator["default"].wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.abrupt("return",null);case 1:case"end":return _context.stop();}},_callee);}));this.resetAll=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){return _regenerator["default"].wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:return _context2.abrupt("return",(_this.clearLoginCredentials(),_this.clearEnrollmentCredentials()));case 1:case"end":return _context2.stop();}},_callee2);}));this.registrationStart=function(){_this.status='REGISTRATION_START';return(0,_classPrivateFieldLooseBase2["default"])(_this,_makePostRequest)[_makePostRequest]("api/webauthn/registration/start").then(function(data){return(0,_classPrivateFieldLooseBase2["default"])(_this,_publicKey)[_publicKey]=data.ccr.publicKey;}).then(function(result){return _this.status='REGISTRATION_STARTED',result;})["catch"](function(error){return _this.status='REGISTRATION_FAILED',Promise.reject(error instanceof Error?error:new Error(error));});};this.registrationFinish=function(credential){_this.status='REGISTRATION_FINISH';return(0,_classPrivateFieldLooseBase2["default"])(_this,_makePostRequest)[_makePostRequest]("api/webauthn/registration/finish",{credential:credential}).then(function(){return(0,_classPrivateFieldLooseBase2["default"])(_this,_credentialID)[_credentialID]=credential.rawId,credential;}).then(function(credential){return _this.status='REGISTRATION_FINISHED',credential;})["catch"](function(error){return _this.status='REGISTRATION_FAILED',_this.clearEnrollmentCredentials(),Promise.reject(error instanceof Error?error:new Error(error));});};this.authenticationStart=function(credential_id){if(credential_id===void 0){credential_id=_this.credentialID;}_this.status='AUTHENTICATION_STARTING';return _this.credentialID!=null?(0,_classPrivateFieldLooseBase2["default"])(_this,_makePostRequest)[_makePostRequest]("api/webauthn/authentication/start",{credential_id:credential_id}).then(function(result){return _this.status='AUTHENTICATION_STARTED',result;}):(_this.status='AUTHENTICATION_FAILED',Promise.reject(new Error("No user ID or credential ID provided")));};this.authenticationFinish=function(credential){_this.status='AUTHENTICATION_FINISHING';return(0,_classPrivateFieldLooseBase2["default"])(_this,_makePostRequest)[_makePostRequest]("api/webauthn/authentication/finish",{credential:credential}).then(function(result){return _this.status='AUTHENTICATION_FINISHED',result;})["catch"](function(error){return _this.status='AUTHENTICATION_FAILED',Promise.reject(error instanceof Error?error:new Error(error));});};this.checkServerSideIdentity=function(createNewIdentity){createNewIdentity=createNewIdentity?{create_new_identity:"true"}:{};_this.status='CHECKING_IDENTITY_STARTING';return(0,_classPrivateFieldLooseBase2["default"])(_this,_makePostRequest)[_makePostRequest]("api/umfa/check-identity",createNewIdentity).then(function(result){return _this.status='CHECKING_IDENTITY_FINISHED',result;})["catch"](function(error){return _this.status='CHECKING_IDENTITY_FAILED',Promise.reject(error);});};(0,_classPrivateFieldLooseBase2["default"])(this,_host)[_host]=host;(0,_classPrivateFieldLooseBase2["default"])(this,_apiKey)[_apiKey]=apiKey;(0,_classPrivateFieldLooseBase2["default"])(this,_applicationId)[_applicationId]=applicationID;this.xhrHeaders={'Content-Type':'application/json'};}return(0,_createClass2["default"])(RelyingParty,[{key:"host",get:function get(){return(0,_classPrivateFieldLooseBase2["default"])(this,_host)[_host];}},{key:"apiKey",get:function get(){return(0,_classPrivateFieldLooseBase2["default"])(this,_apiKey)[_apiKey];}},{key:"applicationId",get:function get(){return(0,_classPrivateFieldLooseBase2["default"])(this,_applicationId)[_applicationId];}},{key:"userIdentifier",get:function get(){return(0,_classPrivateFieldLooseBase2["default"])(this,_customerDefinedIdentifier)[_customerDefinedIdentifier];},set:function set(v){return(0,_classPrivateFieldLooseBase2["default"])(this,_customerDefinedIdentifier)[_customerDefinedIdentifier]=v;}},{key:"customerDefinedIdentifier",get:function get(){return(0,_classPrivateFieldLooseBase2["default"])(this,_customerDefinedIdentifier)[_customerDefinedIdentifier];},set:function set(v){return(0,_classPrivateFieldLooseBase2["default"])(this,_customerDefinedIdentifier)[_customerDefinedIdentifier]=v;}},{key:"publicKey",get:function get(){return(0,_classPrivateFieldLooseBase2["default"])(this,_publicKey)[_publicKey];}},{key:"credentialID",get:function get(){return(0,_classPrivateFieldLooseBase2["default"])(this,_credentialID)[_credentialID];},set:function set(v){return(0,_classPrivateFieldLooseBase2["default"])(this,_credentialID)[_credentialID]=v;}}]);}();var _default=exports["default"]=RelyingParty;