Class Reference
IRIS for UNIX 2024.1.2
InterSystems: The power behind what matters   
Documentation  Search
  [USER] >  [%Net] >  [Authenticator]
Private  Storage   

class %Net.Authenticator extends %RegisteredObject

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

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
6 3


Summary

Properties
AccessToken Mechanism MechanismList Password ServiceName
UserName

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
Next Start


Properties

• property AccessToken as %String;
An access token for use with OAuth. If an access token is supplied it is assumed that OAuth will be used instead of basic auth.
• property Mechanism as %Net.SASL.Base;
The SASL mechanism selected for this authentication sequence.
• property MechanismList as %String [ InitialExpression = "CRAM-MD5,XOAUTH2,LOGIN,PLAIN" ];
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.
• property Password as %String;
The password for the user name being authenticated.
• property ServiceName as %String;
The service name for the service being authenticated. For example, SMTP authentication uses the service name "smtp".
• property UserName as %Library.Username;
The user name being authenticated. No authentication will be attempted unless UserName and Password are supplied.

Methods

• method Next(challenge As %String, ByRef response As %String) as %Boolean
Return next response based on challenge using the selected mechanism.
• method Start(authlist As %String, ByRef mechanismName As %String, ByRef response As %String) as %Boolean
Find matching SASL mechanism from blank separated authlist and return mechanism name and optional initial response for this mechanism.


Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.