class Vines::Stream::Server::Outbound::Auth
Constants
- NS
Public Class Methods
new(stream, success=AuthResult)
click to toggle source
Calls superclass method
# File lib/vines/stream/server/outbound/auth.rb, line 10 def initialize(stream, success=AuthResult) super end
Public Instance Methods
node(node)
click to toggle source
# File lib/vines/stream/server/outbound/auth.rb, line 14 def node(node) raise StreamErrors::NotAuthorized unless external?(node) authzid = Base64.strict_encode64(stream.domain) stream.write(%Q{<auth xmlns="#{NS}" mechanism="EXTERNAL">#{authzid}</auth>}) advance end
Private Instance Methods
external?(node)
click to toggle source
# File lib/vines/stream/server/outbound/auth.rb, line 23 def external?(node) external = node.xpath("ns:mechanisms/ns:mechanism[text()='EXTERNAL']", 'ns' => NS).any? node.name == 'features' && namespace(node) == NAMESPACES[:stream] && external end