Add a Secret Key Field in Suitelet Form

The following sample shows how to add a secret key field.

     /**

 * @NApiVersion 2.x

 * @NScriptType Suitelet

 */

define([‘N/ui/serverWidget’, ‘N/file’, ‘N/keyControl’, ‘N/runtime’], function(serverWidget, file, keyControl, runtime) {

  function onRequest(context) {

    var request = context.request;

    var response = context.response;

    if (request.method === ‘GET’) {

      var form = serverWidget.createForm({

        title: ‘Enter Password’

      });

      var credField = form.addSecretKeyField({

        id: ‘custfield_password’,

        label: ‘Password’,

        restrictToScriptIds: [runtime.getCurrentScript().id],

        restrictToCurrentUser: true //Depends on use case

      });

      credField.maxLength = 64;

      form.addSubmitButton();

      response.writePage(form);

    } else {

      // Read the request parameter matching the field ID we specified in the form

      var passwordToken = request.parameters.custfield_password;

      var pem = file.load({

        id: 422

      });

      var key = keyControl.createKey();

      key.file = pem;

      key.name = ‘Test’;

      key.password = passwordToken;

      key.save();

    }

  }

  return {

    onRequest: onRequest

  };

}); 

     

Leave a comment

Your email address will not be published. Required fields are marked *