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