Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Replacement for get function in glideRecordSecure API

AnujaBhamare
Tera Contributor

I have used get function of glideRecord API but when I am trying to validate my scope application it gave me suggestion to replace Gliderecord with GlideRecordSecure API.  Now Im getting this error " for field 'script'
- line#122 gr2.get(recordSysID);". And it says Rule is "GlideRecord's get() function".

4 REPLIES 4

Community Alums
Not applicable

Hi @AnujaBhamare ,

Can you please share me the code. I'll try to fix that.

 

Thanks 
Sarthak

(function() {
    options.show_panel = options.show_panel == "true" || options.show_panel == true;

    if (input && input.action === "multi_factor_auth_setup") {
        if (gs.getSession().getProperty("setup_multifactor_authn")) {
            gs.getSession().putProperty("nav_to", input.directTo);
            gs.getSession().putProperty("starting_page", input.directTo);
            gs.getSession().putProperty("is_direct_redirect", "true");
        }
        return;
    }

    // We don't want to set a starting page until we've begun the login process.
    if (input && input.action === "set_sso_destination") {
        var gs_nav_to = gs.getSession().getProperty("nav_to");
        gs.getSession().putProperty("nav_to", null);

        if (input.pageURI) {
            gs.getSession().putProperty("is_direct_redirect", "true");
            gs.getSession().putProperty("starting_page", input.pageURI);
        } else if (!gs.getSession().getProperty("starting_page") && gs_nav_to)
            gs.getSession().putProperty("starting_page", gs_nav_to);
        return;

    }

    // for self registration fields
    var portalRecord = $sp.getPortalRecord();
    var self_registration_field = portalRecord ? portalRecord.getValue("user_registration_config") : "";
    if (self_registration_field) {
        var registration_config = new GlideRecordSecure("sys_user_registration_config");
        registration_config.addActiveQuery();
        registration_config.query('sys_id', self_registration_field);
        if (registration_config.next()) {
            var self_registration_record_producer = registration_config.getValue("record_producer");
            var self_registration_label = registration_config.getValue("registration_label") || gs.getMessage("Sign Up");
            data.self_registration_record_producer = self_registration_record_producer;
            data.self_registration_label = self_registration_label;
        }
    }

    //Enabling certificate based authentication per portal
    if (portalRecord && (portalRecord.getValue('enable_certificate_based_authentication') == 1))
        data.cert_based_auth = gs.getProperty('glide.authenticate.mutual.enabled', 'false') == 'true';
   
    //get the certificate header
    if (data.cert_based_auth) {
    var request = GlideTransaction.get().getRequest();
    var certHeader = request.getHeader("X-Client-Cert");
    if (!certHeader) {
        data.certHeader = "false";
            gs.log("Failed to register PIV/CAC certificate to the user account.");
        } else
        data.certHeader = "true";    
    }

    //Get the OpenID Connect type Identity provider which can be shown on the Portal login page.
    data.isShowLoginWithIdps = false;
    data.isMultiSSOActive = gs.getProperty('glide.authenticate.multisso.enabled', 'false') == 'true';
    var gr = new GlideRecordSecure("oidc_identity_provider");
    if (data.isMultiSSOActive && gr.isValid()) {
        var oidcUtil = new MultiSSO_OidcUtil();
        data.oidcRecords = oidcUtil.getOidcIdpRecords();
        data.isShowLoginWithIdps = (data.oidcRecords.length > 0);
    }    
       

    //STRY50033370: Forgot Password link in the login widget
    data.pswdResetUrl = gs.getProperty('glide.security.password_reset.uri');
    data.forgotPwdLinkProp = gs.getProperty('glide.security.forgot_password.display.link');

    data.errorMsg = gs.getMessage("There was an error processing your request");
    data.errorMsg2 = gs.getMessage("An error has occurred - please contact your system administrator");
    data.passwordMsg = gs.getMessage("Password");
    data.usernameMsg = gs.getMessage("User name");
    data.forgetMe = GlideProperties.getBoolean("glide.ui.forgetme");
    data.rememberMeDefault = GlideProperties.getBoolean('glide.ui.remember.me.default', true);
    data.is_logged_in = gs.getSession().isLoggedIn();
    var bypass_sso = options.bypass_sso == "true";
    data.multisso_enabled = !bypass_sso && GlideProperties.getBoolean("glide.authenticate.multisso.enabled");
    data.default_idp = GlideProperties.get("glide.authenticate.sso.redirect.idp");
    data.pageURI = new GlideSPUtil().getPageUri();
    data.multiFactorAuthEnabled = GlideProperties.getBoolean('glide.authenticate.multifactor', false);
    data.certAuthRedirect = gs.getProperty('glide.authenticate.cert.redirect.enable', 'false') == 'true';

    //STRY53144967: Handle user redirection to specific Identity provider mapped in Custom Url record for Portals
    var customURL = GlideProperties.getBoolean('glide.customurl.enabled', false);
    if (customURL == true && data.multisso_enabled == true) {
        var idp = SNC.CustomURLSPUtil.getAutoRedirectIDPForCustomURLWithPortal();
        if(GlideStringUtil.notNil(idp))
            data.default_idp = idp;
    }
   
    //Show info message is session access is reduced
    var isSessionAccessReduced = GlideSession.get().getBooleanProperty("isSessionAccessReduced", false);
    var isSessionAccessMessageShown = GlideSession.get().getBooleanProperty("isSessionAccessReducedMessageShown", false);
    if (isSessionAccessReduced && !isSessionAccessMessageShown)
        SNC.SessionAccessUtil.showUserInfoMessageIfAccessReduced();
})();
"for field 'script'
- line#48 var request = GlideTransaction.get().getRequest();
- line#81 data.default_idp = GlideProperties.get("glide.authenticate.sso.redirect.idp");
- line#95 var isSessionAccessReduced = GlideSession.get().getBooleanProperty("isSessionAccessReduced", false);
- line#96 var isSessionAccessMessageShown = GlideSession.get().getBooleanProperty("isSessionAccessReducedMessageShown", false);"

Community Alums
Not applicable

Hi @AnujaBhamare ,

I tried same thing with GlideRecordSecure it works for me may be you can take some reference from here 

 

var number = [];
var sys_id = '1c741bd70b2322007518478d83673af3'; // sys_id of incidet record 

var incGr = new GlideRecordSecure("incident");
incGr.query();

if (incGr.get(sys_id)) {

    gs.print('inside if ');
    number.push(incGr.number);
}

gs.print(number);

 

 

Please mark my answer correct and helpful if this works for you

 

Thanks and Regards 

Sarthak

I am trying to validate my application, but it is giving me this type of errorerror.png