class Net::IMAP::SASL::LoginAuthenticator

用于 “LOGIN” SASL 机制的身份验证器。请参阅 Net::IMAP#authenticate

LOGIN 身份验证以明文形式发送密码。 RFC3501 鼓励服务器在协商 TLS 之后禁用明文身份验证。 RFC8314 建议对所有流量使用 TLS 版本 1.2 或更高版本,并尽快弃用明文访问。 LOGIN 可以通过 TLS 加密来保护。

已弃用

SASL 机制注册表 将 “LOGIN” 标记为已过时,建议使用 “PLAIN”。此处包含它是为了与现有服务器兼容。有关规范和弃用信息,请参阅 draft-murchison-sasl-login

常量

STATE_DONE
STATE_PASSWORD
STATE_USER

公共类方法

new(user = nil, pass = nil, authcid: nil, username: nil, password: nil, secret: nil, warn_deprecation: true, **) 点击切换源代码
# File net-imap-0.5.4/lib/net/imap/sasl/login_authenticator.rb, line 26
def initialize(user = nil, pass = nil,
               authcid: nil, username: nil,
               password: nil, secret: nil,
               warn_deprecation: true,
               **)
  if warn_deprecation
    warn "WARNING: LOGIN SASL mechanism is deprecated. Use PLAIN instead.",
         category: :deprecated
  end
  @user = authcid || username || user
  @password = password || secret || pass
  @state = STATE_USER
end

公共实例方法

done?() 点击切换源代码
# File net-imap-0.5.4/lib/net/imap/sasl/login_authenticator.rb, line 55
def done?; @state == STATE_DONE end
initial_response?() 点击切换源代码
# File net-imap-0.5.4/lib/net/imap/sasl/login_authenticator.rb, line 40
def initial_response?; false end
process(data) 点击切换源代码
# File net-imap-0.5.4/lib/net/imap/sasl/login_authenticator.rb, line 42
def process(data)
  case @state
  when STATE_USER
    @state = STATE_PASSWORD
    return @user
  when STATE_PASSWORD
    @state = STATE_DONE
    return @password
  when STATE_DONE
    raise ResponseParseError, data
  end
end