When using GSSAPI as the authentication mechanism, the client application does not know the identity used for an AMQP connection. This is because the SASL library automatically gets the identity from a keytab file and uses it to authenticate with the broker.
If the application wishes to place the userID into the message properties for a produced message, it needs to be able to get the information from somewhere. I propose that the information be copied into the "negotiated settings" for a connection at the completion of the authentication exchange. Then, the client can get the identity string be calling "getNegotiatedSettings" on the connection. This change does not affect the API or ABI of the interface. It only enhances the meaning of the "username" field in negotiated settings.