# File lib/mongo/functional/sasl_java.rb, line 27 def self.authenticate(username, client, socket, opts={}) db = client.db('$external') hostname = socket.pool.host servicename = opts[:gssapi_service_name] || 'mongodb' canonicalize = opts[:canonicalize_host_name] ? opts[:canonicalize_host_name] : false authenticator = org.mongodb.sasl.GSSAPIAuthenticator.new(JRuby.runtime, username, hostname, servicename, canonicalize) token = BSON::Binary.new(authenticator.initialize_challenge) cmd = BSON::OrderedHash['saslStart', 1, 'mechanism', 'GSSAPI', 'payload', token, 'autoAuthorize', 1] response = db.command(cmd, :check_response => false, :socket => socket) until response['done'] do token = BSON::Binary.new(authenticator.evaluate_challenge(response['payload'].to_s)) cmd = BSON::OrderedHash['saslContinue', 1, 'conversationId', response['conversationId'], 'payload', token] response = db.command(cmd, :check_response => false, :socket => socket) end response end
Generated with the Darkfish Rdoc Generator 2.