class Net::IMAP::SASL::OAuthBearerAuthenticator
用于 “OAUTHBEARER
” SASL
机制的身份验证器,在 RFC7628 中指定。 使用 OAuth 2.0 持有者令牌进行身份验证,如 RFC6750 中所述。通过 Net::IMAP#authenticate
使用。
RFC6750 要求使用传输层安全协议(TLS)来保护客户端和资源服务器之间的协议交互。必须使用 TLS 来保护 OAUTHBEARER
的持有者令牌。
属性
oauth2_token[R]
OAuth 2.0 持有者令牌。 请参阅 RFC-6750
secret[R]
OAuth 2.0 持有者令牌。 请参阅 RFC-6750
公共类方法
new(oauth2_token, **options) → authenticator 点击以切换源代码
new(authzid, oauth2_token, **options) → authenticator
new(oauth2_token:, **options) → authenticator
创建用于 “OAUTHBEARER
” SASL
机制的身份验证器。
由 Net::IMAP#authenticate
和其他客户端上的类似方法调用。
参数¶ ↑
-
oauth2_token
— OAuth2 持有者令牌
所有其他关键字参数都传递给 super(请参阅 OAuthAuthenticator
)。最常见的参数是:
-
可选
authzid
― 作为或代表其执行操作的授权身份。请注意,与某些其他身份验证器不同,
username
设置的是授权身份,而不是身份验证身份。客户端的身份验证身份由oauth2_token
建立。 -
可选
host
— 客户端连接的主机名。 -
可选
port
— 客户端连接的服务端口。
尽管此机制仅需要 oauth2_token
,但值得注意的是,允许应用程序协议要求 authzid
(或其他参数,例如 host
或 port
)以及特定的服务器实现。
# File net-imap-0.5.4/lib/net/imap/sasl/oauthbearer_authenticator.rb, line 177 def initialize(arg1 = nil, arg2 = nil, oauth2_token: nil, secret: nil, **args, &blk) username, oauth2_token_arg = arg2.nil? ? [nil, arg1] : [arg1, arg2] super(username: username, **args, &blk) @oauth2_token = oauth2_token || secret || oauth2_token_arg or raise ArgumentError, "missing oauth2_token" end
公共实例方法
initial_response? → true 点击以切换源代码
OAUTHBEARER
发送初始客户端响应。
# File net-imap-0.5.4/lib/net/imap/sasl/oauthbearer_authenticator.rb, line 190 def initial_response?; true end