STANDARD DATA DICTIONARY #8994.5 -- REMOTE APPLICATION FILE 3/24/25 PAGE 1 STORED IN ^XWB(8994.5, (41 ENTRIES) SITE: WWW.BMIRWIN.COM UCI: VISTA,VISTA (VERSION 8.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ----------------------------------------------------------------------------------------------------------------------------------- The REMOTE APPLICATION file was introduced as part of the Broker Security Enhancement to secure access via the remote user or visitor approach by GUI applications (formerly known as the CAPRI approach for the first application to use this access style). The remote visitor access permits applications where users need to access a large number of sites to do so without requiring a separate access code and verify code at each site. Following the Broker Security Enhancement, applications will be able to use the remote visitor access only if they have an entry in this file with a one-way hash of a secure phrase. Identification of an entry in the file is based on the application passing in the original phrase which is then hashed and used for a cross-reference lookup. The application must have at least one entry in the CALLBACKTYPE sub-file indicating a connection type, a valid address for the authenticating server, and a connection port number. This information is necessary for the remote server to directly connect the authenticating server to obtain the demographic information necessary to create or match the visitor entry in the NEW PERSON file (#200). The application will also specify the desired context option for the user and this will be given to the remote visitor instead of the application having to figure out how to set this value. DD ACCESS: @ RD ACCESS: @ WR ACCESS: @ DEL ACCESS: @ LAYGO ACCESS: @ AUDIT ACCESS: @ POINTED TO BY: REMOTE APP field (#18) of the SIGN-ON LOG File (#3.081) CREATED BY field (#202.06) of the NEW PERSON File (#200) CROSS REFERENCED BY: NAME(B) INDEXED BY: APPLICATIONCODE (ACODE) LAST MODIFIED: SEP 21,2023@14:16:38 8994.5,.01 NAME 0;1 FREE TEXT (Required) INPUT TRANSFORM: K:$L(X)>30!(X?.N)!($L(X)<3)!'(X'?1P.E) X HELP-PROMPT: NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PUNCTUATION DESCRIPTION: This is the NAME of the REMOTE GUI APPLICATION for which the data in this entry pertains. CROSS-REFERENCE: 8994.5^B 1)= S ^XWB(8994.5,"B",$E(X,1,30),DA)="" 2)= K ^XWB(8994.5,"B",$E(X,1,30),DA) 8994.5,.02 CONTEXTOPTION 0;2 POINTER TO OPTION FILE (#19) (Required) LAST EDITED: APR 03, 2006 HELP-PROMPT: This is the option which should be given to the signed in visitor as the Context Option for this application. DESCRIPTION: The name of the context (Client/Server or B-type) option that the application users will need that will be added as a secondary menu item. The user is signed on as a visitor and given the Context Option specified in this field as a secondary menu option. The application still needs to set the Context Option using the CreateContext method, but the visitor has it as a valid option so that it can be used. 8994.5,.03 APPLICATIONCODE 0;3 FREE TEXT (Required) INPUT TRANSFORM: K:$L(X)>60!($L(X)<3) X LAST EDITED: SEP 21, 2023 HELP-PROMPT: Enter the HASHED value of the application's security phrase. Answer must be 3 to 60 characters in length. DESCRIPTION: This is the application's hashed value for a security phrase and is described below. Security Phrase The security phrase is an application's entry into the REMOTE APPLICATION file (#8994.5) for accessing the information necessary to permit the application to enroll a remote user. Create a security phrase, case sensitive, in programmer mode using the following command (assuming the security phrase is "My Special Phrase"): W $$SHAHASH^XUSHSH(256,"My Special Phrase","B") The resulting value is: xfXJqDgiByKcNdnGj8f6v64B98Ecs8wlmKFfMzusjaM= This is the one-way hash value for the security phrase. It is this hashed value that will be entered into the ApplicationCode field (#.03) in the REMOTE APPLICATION file (#8994.5) for the application. To make a remote connection, the application will have the user sign onto the application's authenticating server (the one entered as CallbackServer) and then obtain a Token for the user (similar to "XWBHDL977-124367_0") using the "XUS SET VISITOR" RPC. The application will then disconnect from the authenticating server and set the new SecurityPhrase property for the TRPCBroker component to the unhashed security phrase concatenated with a caret ("^") and the token for the user (e.g., "My Special Phrase^XWBHDL977-124367_0") This property will be encoded and passed to the remote server for authentication; it will hash the security phrase and use the resulting value to identify the application's entry in the REMOTE APPLICATION file (#8994.5). The mechanism(s) for contacting the authenticating server will be identified and the authentication server will be requested to provide the demographic information necessary to identify the user and create or match an entry in the NEW PERSON file (#200) based on the token provided. With this information, the user will be set up as a visitor entry and be provided the context option specified. The application will then be notified that the user is connected. If there is no entry for the application, no match for the token, or the authenticating server can not be connected, the user will be prompted with a regular sign on screen (i.e., required to enter their Access and Verify codes). Since the security phrase is the application's identifier, we recommend that the security phrase in RPCBroker Delphi-based programs be identified as a const value in an include file. And that a substitute include file containing a phrase similar to that used above, be included with release of the source code. It must be realized that the security phrase identifies any application that uses it as your application, and it would, of course, be desirable that rogue applications not appear to be your application. FIELD INDEX: ACODE (#1022) REGULAR IR SORTING ONLY Short Descr: Hashed value for an application's security phrase. Description: This is the hashed value for an application's security phrase, which is the application's entry into the REMOTE APPLICATION file (#8994.5) for accessing the information necessary to permit the application to enroll a remote user. Set Logic: S ^XWB(8994.5,"ACODE",X,DA)="" Kill Logic: K ^XWB(8994.5,"ACODE",X,DA) Whole Kill: K ^XWB(8994.5,"ACODE") X(1): APPLICATIONCODE (8994.5,.03) (Subscr 1) (forwards) 8994.5,1 CALLBACKTYPE 1;0 SET Multiple #8994.51 LAST EDITED: APR 03, 2006 DESCRIPTION: This is a multiple field. It may contain multiple values describing mechanisms by which the remote site can contact the application's authenticating site to obtain the demographic information. It consists of the following subfields: .01 CALLBACKTYPE .02 CALLBACKPORT .03 CALLBACKSERVER .04 URLSTRING 8994.51,.01 CALLBACKTYPE 0;1 SET (Required) (Multiply asked) 'R' FOR RPC-BROKER; 'M' FOR M2M-BROKER; 'H' FOR HTTP; 'S' FOR STATION-NUMBER; LAST EDITED: APR 09, 2009 HELP-PROMPT: Select one of the indicators for a Call back type for this Remote GUI Application DESCRIPTION: This field indicates the mechanism(s) by which the server should contact the authenticating server to obtain information necessary to sign the current user on to the current server. CROSS-REFERENCE: 8994.51^B 1)= S ^XWB(8994.5,DA(1),1,"B",$E(X,1,30),DA)="" 2)= K ^XWB(8994.5,DA(1),1,"B",$E(X,1,30),DA) 8994.51,.02 CALLBACKPORT 0;2 FREE TEXT (Required) INPUT TRANSFORM: K:$L(X)>5!($L(X)<2) X LAST EDITED: APR 07, 2006 HELP-PROMPT: Answer must be 2-5 characters in length. DESCRIPTION: This is the port to be used for the callback to the authenticating server for the CALLBACKTYPE specified. 8994.51,.03 CALLBACKSERVER 0;3 FREE TEXT (Required) INPUT TRANSFORM: K:$L(X)>60!($L(X)<3) X LAST EDITED: JAN 23, 2006 HELP-PROMPT: This should be the server name to be used to contact the authenticating server for accessing the data to authenticate the user for this Remote GUI Application. DESCRIPTION: This is the server designation to be used for the callback to the authenticating server for the CALLBACKTYPE specified. 8994.51,.04 URLSTRING 0;4 FREE TEXT INPUT TRANSFORM: K:$L(X)>60!($L(X)<1) X LAST EDITED: APR 07, 2006 HELP-PROMPT: Answer must be 1-60 characters in length. DESCRIPTION: This field holds the text that should follow the server address (field #.03) for HTTP connections to obtain the information for the user token passed in for a REMOTE APPLICATION connection. If the complete URL to be used for the callback is http://myserver.domain.ext/some/kind/of/location/somePage.aspx The CALLBACKSERVER (#.03) field could be myserver.domain.ext and the URLSTRING would be some/kind/of/location/somePage.aspx This field is only used if the CALLBACKTYPE (#.01) value is H for HTTP FILES POINTED TO FIELDS OPTION (#19) CONTEXTOPTION (#.02) INPUT TEMPLATE(S): PRINT TEMPLATE(S): SORT TEMPLATE(S): FORM(S)/BLOCK(S):