module Net::IMAP::Authenticators
Public Instance Methods
Adds an authenticator for Net::IMAP#authenticate to use. mechanism is the SASL mechanism implemented by authenticator (for instance, "PLAIN").
The authenticator must respond to #new (or call), receiving the authenticator configuration and return a configured authentication session. The authenticator session must respond to #process, receiving the server’s challenge and returning the client’s response.
See PlainAuthenticator, XOauth2Authenticator, and DigestMD5Authenticator for examples.
# File net-imap-0.3.4/lib/net/imap/authenticators.rb, line 17 def add_authenticator(auth_type, authenticator) authenticators[auth_type] = authenticator end
Builds a new authentication session context for mechanism.
- Note
-
This method is intended for internal use by connection protocol code only. Protocol client users should see refer to their client’s documentation, e.g.
Net::IMAP#authenticateforNet::IMAP.
The call signatures documented for this method are recommendations for authenticator implementors. All arguments (other than mechanism) are forwarded to the registered authenticator’s #new (or #call) method, and each authenticator must document its own arguments.
The returned object represents a single authentication exchange and must not be reused for multiple authentication attempts.
# File net-imap-0.3.4/lib/net/imap/authenticators.rb, line 42 def authenticator(mechanism, *authargs, **properties, &callback) authenticator = authenticators.fetch(mechanism.upcase) do raise ArgumentError, 'unknown auth type - "%s"' % mechanism end if authenticator.respond_to?(:new) authenticator.new(*authargs, **properties, &callback) else authenticator.call(*authargs, **properties, &callback) end end
Private Instance Methods
# File net-imap-0.3.4/lib/net/imap/authenticators.rb, line 55 def authenticators @authenticators ||= {} end