Name

global.PwdResetEndpointHelper

Description

Helper to the Password reset end point

Script

var PwdResetEndpointHelper = Class.create();

var securityMgr  =  new SNC.PwdSecurityManager();
var trackingMgr = new SNC.PwdTrackingManager();

PwdResetEndpointHelper.addNewCSRFTokenToSession = function(response){
  
  if(response.status === PwdConstants.WIN_STATUS_OK &&  response.info != undefined)
  {
  	var token = securityMgr.generateSecureToken();
  	response.info.pwd_csrf_token = token;
  	
  }
  
  return response;
};


PwdResetEndpointHelper.addRequestId = function(response) {
  
  var requestId = PwdResetRequestHelper.getRequestIdFromSession();
  if( response.info != undefined)
  	response.info.request_id = requestId;
  return response;
  
};

PwdResetEndpointHelper.validateCSRFToken = function (csrfToken) {
  	
  if (!securityMgr.validateSecureToken(csrfToken)) {
  	return {
  		status: PwdConstants.WIN_STATUS_ERROR,
  		error: PwdConstants.WIN_STATUS_UNAUTHORIZED
  	};
  }
  return {
  	status: PwdConstants.WIN_STATUS_OK,
  	error:""
  };	
};

PwdResetEndpointHelper.clearSessionData = function () {
  // clear previous session data
  gs.getSession().clearProperty('sysparm_request_id');
};

PwdResetEndpointHelper.addSessionToken = function(response) {

  if(response.status === PwdConstants.WIN_STATUS_OK &&  response.info != undefined)
  	response.info.user_token =  gs.getSessionToken();
  return response;
  
};

PwdResetEndpointHelper.formatRestResponse = function(identityResponse, firstPage) {
  
  if(identityResponse.status === PwdConstants.WIN_STATUS_OK ){	
  	identityResponse = PwdResetEndpointHelper.addNewCSRFTokenToSession(identityResponse);
  	
  	// in case we are at the first page of the app , we need to return a user token to the client
  	if(firstPage)
  		identityResponse = PwdResetEndpointHelper.addSessionToken (identityResponse);
  	else
  		identityResponse = PwdResetEndpointHelper.addRequestId(identityResponse);
  }
  return identityResponse;
  
};



Sys ID

f734486b537103003248cfa018dc3490

Offical Documentation

Official Docs: