4 Replies Latest reply on Nov 21, 2016 5:32 AM by Nikolay Karetnikov

    Simple Authentication Script

    Nikolay Karetnikov Navigator


      I am playing around with authentication scripts. Composed the following one (attached).

      While testing in an analyst the result is positive. The script returns necessary data


      But once I try to authenticate from a Lexmark device the result is negative








      The message says: "Network Id: "", Component: EDI, Terminal: ET0021B7EEC3F2, User Terminal Session: 39927c34-99c0-44e1-bf83-df25d661d324, Message: "The system could not log you on. Make sure your logon credentials are correct. The given key was not present in the dictionary. Logon may fail if the permitted logon options (e.g. card and/or keyboard) do not match between the authentication method and terminal configurations.", Credentials: "UserId=A0 (Source=Unknown), Password=***** (Source=Unknown)""


      The terminal is setup to use the "Simple Authentication Script" script


      with the script parameters being


      Any help would be appreciated!

        • Re: Simple Authentication Script
          Jeff Geller Guide

          Hi Nikolay,


          In my test with your script it looks like the result does not contain a Network Identifier as the "ReferId". The Referid is the "Employee" identifier instead.



          What are you trying to accomplish with this simple script?




            • Re: Simple Authentication Script
              Nikolay Karetnikov Navigator


              Jeff, thanks for the reply! But in mine it does

              The goal is a script that process cards and PINs provided by LeDAS against cardID stored in the Pharos database.

              I expect from it to go by AppMode.Alternate path and gets from inputs["CardId"].Data.Substring(1)) just 0 (extracted from A0).

              Apparently, I am wrong on something. Just can not figure out where

            • Re: Simple Authentication Script
              tcampbell@pharos.com Navigator

              Hello Nikolay,


              Lexmark eDas and RegisterMe applications work in quite unique ways, creating the need to write a script that accounts for the unique operation.


              The script you provide is defining a single input named "CardID."  The "CardID" input is only passed on when using the RegisterMe application.  It is not passed on when authenticating through eDAS.


              When authenticating through eDAS, the eDAS application will pass "UserId" and "Password" input values .  Your script must be written so that it defines and collects both of those input values.  eDAS will also append a "C" to the beginning of the data collected by a badge swipe.  Your script will also need to strip off the leading "C" character before attempting to search Blueprint for a matching user.


              I suspect that you have access to the Lexmark "RegisterMe" authentication script that is commonly used.  (If not, let me know and I will upload a copy.)  You may want to use that script as a reference item to help understand the input values that the Lexmark solutions generate, and how they are processed through the script.  I think it might shed some light on how your simple authentication script will need to be modified to support Lexmark operation.


              Best regards,


                • Re: Simple Authentication Script
                  Nikolay Karetnikov Navigator


                  Thank you, Tim! Following your advice I've been able to grasp the idea of how it works on Lexmark. Managed to create a suitable script which is being tested and works just fine.

                  Could you please tell me where to find the Input class source code?

                  Without these lines

                          if ( inputs.Count == 0 )


                                  cardId.And( userId ).Validate( inputs );


                  the test tab is empty and I'd like to better understand why it is so.