Module: Neo4j::Driver::AuthTokens

Defined in:
lib/neo4j/driver/auth_tokens.rb

Class Method Summary collapse

Class Method Details

.basic(username, password, realm = nil) ⇒ Object

Signatures mirror Java's org.neo4j.driver.AuthTokens. The JRuby flavour delegates to the Java class directly, so MRI must accept positional realm/scheme (not kwargs) for cross-flavour parity (testkit-backend uses positional invocation).

Raises:

  • (ArgumentError)


11
12
13
14
15
16
17
18
# File 'lib/neo4j/driver/auth_tokens.rb', line 11

def basic(username, password, realm = nil)
  raise ArgumentError, "Username can't be nil" if username.nil?
  raise ArgumentError, "Password can't be nil" if password.nil?

  token = { scheme: 'basic', principal: username, credentials: password }
  token[:realm] = realm if realm
  token
end

.bearer(token) ⇒ Object



20
21
22
# File 'lib/neo4j/driver/auth_tokens.rb', line 20

def bearer(token)
  { scheme: 'bearer', credentials: token }
end

.custom(principal, credentials, realm, scheme, parameters = {}) ⇒ Object



32
33
34
35
36
37
# File 'lib/neo4j/driver/auth_tokens.rb', line 32

def custom(principal, credentials, realm, scheme, parameters = {})
  token = { scheme: scheme, principal: principal, credentials: credentials }
  token[:realm] = realm if realm
  token[:parameters] = parameters unless parameters.nil? || parameters.empty?
  token
end

.kerberos(base64_encoded_ticket) ⇒ Object



24
25
26
# File 'lib/neo4j/driver/auth_tokens.rb', line 24

def kerberos(base64_encoded_ticket)
  { scheme: 'kerberos', principal: '', credentials: base64_encoded_ticket }
end

.noneObject



28
29
30
# File 'lib/neo4j/driver/auth_tokens.rb', line 28

def none
  { scheme: 'none' }
end