Sha256: 69c10c628bca9e3a30bfb6210dc5e97a043dc7a1e4712ec7d855e8311270f0f4
Contents?: true
Size: 798 Bytes
Versions: 10
Compression:
Stored size: 798 Bytes
Contents
# encoding: UTF-8 module Vines class Stream class Server class Outbound class Auth < State NS = NAMESPACES[:sasl] def initialize(stream, success=AuthResult) super end def node(node) raise StreamErrors::NotAuthorized unless external?(node) authz = Base64.encode64(stream.domain).chomp stream.write(%Q{<auth xmlns="#{NS}" mechanism="EXTERNAL">#{authz}</auth>}) advance end private def external?(node) external = node.xpath("ns:mechanisms/ns:mechanism[text()='EXTERNAL']", 'ns' => NS).any? node.name == 'features' && namespace(node) == NAMESPACES[:stream] && external end end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems