Description

The Logon <A> message authenticates a user establishing a connection to a remote system. The Logon <A> message must be the first message sent by the application requesting to initiate a FIX session.

The HeartBtInt <108> field is used to declare the timeout interval for generating heartbeats (same value used by both sides). The HeartBtInt <108> value should be agreed upon by the two firms and specified by the Logon initiator and echoed back by the Logon acceptor.

Upon receipt of a Logon <A> message, the session acceptor will authenticate the party requesting connection and issue a Logon <A> message as acknowledgment that the connection request has been accepted. The acknowledgment Logon <A> can also be used by the initiator to validate that the connection was established with the correct party.

successful-logon Successful Logon

The session acceptor must be prepared to immediately begin processing messages after receipt of the Logon <A>. The session initiator can choose to begin transmission of FIX messages before receipt of the confirmation Logon <A>, however it is recommended that normal message delivery wait until after the return Logon <A> is received to accommodate encryption key negotiation.

The confirmation Logon <A> can be used for encryption key negotiation. If a session key is deemed to be weak, a stronger session key can be suggested by returning a Logon <A> message with a new key. This is only valid for encryption protocols that allow for key negotiation. (See the FIX Web Site's Application notes for more information on a method for encryption and key passing.)

The Logon <A> message can be used to specify the MaxMessageSize <383> supported (e.g. can be used to control fragmentation rules for very large messages which support fragmentation). It can also be used to specify the MsgTypes supported for both sending and receiving.

Structure

Tag Field Name Req'd Comments
Component Block - <StandardHeader> Y MsgType = A
98 EncryptMethod Y (Always unencrypted)
108 HeartBtInt Y Note same value used by both sides
95 RawDataLength N Required for some authentication methods
96 RawData N Required for some authentication methods
141 ResetSeqNumFlag N Indicates both sides of a FIX session should reset sequence numbers
789 NextExpectedMsgSeqNum N Optional, alternative via counterparty bi-lateral agreement message gap detection and recovery approach (see Volume 2 - "Logon Message NextExpectedMsgSeqNum Processing" section)
383 MaxMessageSize N Can be used to specify the maximum number of bytes supported for messages received
Component Block - <MsgTypeGrp> N
464 TestMessageIndicator N Can be used to specify that this FIX session will be sending and receiving "test" vs. "production" messages.
553 Username N
554 Password N Note: minimal security exists without transport-level encryption.
925 NewPassword N Specifies a new password for the FIX Logon. The new password is used for subsequent logons.
1400 EncryptedPasswordMethod N
1401 EncryptedPasswordLen N
1402 EncryptedPassword N
1403 EncryptedNewPasswordLen N
1404 EncryptedNewPassword N Encrypted new password- encrypted via the method specified in the field EncryptedPasswordMethod <1400>
1409 SessionStatus N Session status at time of logon. Field is intended to be used when the logon is sent as an acknowledgement from acceptor of the FIX session.
1137 DefaultApplVerID Y The default version of FIX messages used in this session.
1407 DefaultApplExtID N The default extension pack for FIX messages used in this session
1408 DefaultCstmApplVerID N The default custom application version (dictionary) for FIX messages used in this session
58 Text N Available to provide a response to logon when used as a logon acknowledgement from acceptor back to the logon initiator.
354 EncodedTextLen N Must be set if EncodedText field is specified and must immediately precede it.
355 EncodedText N Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field.
Component Block - <StandardTrailer> Y

Sample Messages

The ^ character is used to represent SOH character.

8=FIXT.1.1^9=116^35=A^49=BuySide^56=SellSide^34=1^52=20190605-11:51:27.848^1128=9^98=0^108=30^141=Y^553=Username^554=Password^1137=9^10=079^

Related Messages