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