EMA C++ RDM Usage Guide : 3 Login Domain : 3.2 Usage
 
3.2 Usage
3.2.1 Login Request Message
A Login request message is encoded and sent by Open Message Model consumer and Open Message Model non-interactive provider applications internally in the constructor of this class. This message registers a user with the system. After receiving a successful login response, applications can then begin consuming or providing additional content. An Open Message Model interactive provider can use the Login request information to authenticate users with the Data Access Control System.
You can configure a login request message using the following methods.
 
Table 4: Configure Login Request Message  
Method Name
Description
OmmConsumerConfig.username()
Required.
Specifies the user name for login request message.
OmmConsumerConfig.password()
Optional
Specifies the password for login request message.
OmmConsumerConfig.position()
Optional
Specifies the position for login request message.
OmmConsumerConfig.applicationId()
Optional
Specifies the authorization application identifier for login request message.
OmmConsumerConfig.addAdminMsg()
Optional
Specifies a login request message to override the default login request.
An initial Login request must be streaming (i.e., a ReqMsg.InterestAfterRefresh flag set to true is required). After the initial Login stream is established, subsequent Login requests using the same StreamID login handle can be sent to obtain additional refresh messages, pause the stream, or resume the stream. If a login stream is paused, this is interpreted as a ‘Pause All’ request which indicates that all item streams associated with the user should be paused. A login stream is paused by specifying ReqMsg.Pause to true. To resume data flow on all item streams (also known as a Resume All), users need to call ReqMsg.InterestAfterRefresh with true value. For more information, refer to the Enterprise Message API C++ Edition Developers Guide.
 
Table 5: Login Request Message  
COMPONENT
DESCRIPTION / VALUE
DomainType
Required. MMT_LOGIN = 1
Interactions
Conditional.
Setting InitialImage to true indicates that an initial image is required.
Setting InterestAfterRefresh to true indicates that a streaming request is required. A streaming request is required before any other requests. Non-streaming requests are unsupported.
Setting Pause set to true indicates that a pause is required. A pause request is a request to pause all item streams associated with the login. To resume all item streams associated with the login, issue another streaming request.
QoS
Not used.
worstQos
Not used.
ExtendedHeader
Not used.
ServiceId
Not used.
NameType
Optional. Possible values are:
USER_NAME
USER_EMAIL_ADDRESS
USER_TOKEN
USER_COOKIE
USER_AUTHN_TOKEN
If NameType is not set, it is assumed to be USER_NAME.
A type of USER_NAME typically corresponds to a Data Access Control System user name. This can be used to authenticate and permission a user.
USER_TOKEN is specified when using the AAA API The user token is retrieved from a AAA API gateway and then passed through the system via the Name. To validate users, a provider can pass this user token to an authentication manager application.
If you specify USER_AUTHN_TOKEN, you must also set Name to a single, null character (i.e., a 0x00 binary), and include an AuthenticationToken element in the Attrib. For details on the AuthenticationToken, refer to Section 3.2.2.
Both USER_TOKEN and USER_AUTHN_TOKEN can periodically change: when it changes, an application can send a login reissue to pass information upstream.
For further details on using USER_TOKEN, refer to the AAA API documentation.
For further details on using USER_AUTHN_TOKEN, refer to the UserAuthn Authentication User Manual.1
Name
Required. Name should be populated with appropriate content corresponding to the NameType specification.
Filter
Not used.
Identifier
Not used.
Attrib
Optional. Typically an ElementList. Attributes are specified in Section 3.2.2.
Payload
Not used.

1 For further details on Delivery Platform authentication, refer to the UserAuthn Authentication User Manual, accessible on MyAccount in the Data Access Control System product documentation set.