Implement the Simple Authentication and Security Layer (SASL) as defined by RFC 2222. This class will pick a security mechanism (e.g. CRAM-MD5) from a list defined by the user of this class based on server options. The selected security mechanism will use its challenge-response mechanism to authenticate this client with the selected server. Currently no negotiation or support for a security layer is implemented.
#include %occOptions #include %occStatus
The SASL mechanism selected for this authentication sequence.
An ordered, comma separated list of security mechanism names to be used for SASL authentication. Security mechanisms that are added to this list must inherit from %Net.SASL.Base. The default class name for these mechanisms is %Net.SASL.<mechanism name> where <mechanism name> is the name of a SASL mechanism with all characters except alphanumerics removed. The class name may be supplied explicitely in the format "<mechanism name>:<class name>". InterSystems IRIS-supplied mechanisms are in the package %Net.SASL.
The password for the user name being authenticated.
The service name for the service being authenticated. For example, SMTP authentication uses the service name "smtp".
The user name being authenticated. No authentication will be attempted unless UserName and Password are supplied.
Convert SASL mechanism list to an array where mechanismArray is the number of mechanisms, mechanismArray(i) is the mechanism name and classArray(i) is the associated class name.
Return next response based on challenge using the selected mechanism.
Find matching SASL mechanism from blank separated authlist and return mechanism name and optional initial response for this mechanism.