Class: VertxAuth::AuthService

Inherits:
Object
  • Object
show all
Defined in:
/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb

Overview

Vert.x authentication and authorisation service.

Handles authentication and role/permission based authorisation.

Direct Known Subclasses

ShiroAuthService

Class Method Summary (collapse)

Instance Method Summary (collapse)

Class Method Details

+ (::VertxAuth::AuthService) create_event_bus_proxy(vertx = nil, address = nil)

Create a proxy to an auth service that is deployed somwehere on the event bus.

Parameters:

  • vertx (::Vertx::Vertx) (defaults to: nil)
    the vert.x instance
  • address (String) (defaults to: nil)
    the address on the event bus where the auth service is listening

Returns:

Raises:

  • (ArgumentError)


32
33
34
35
36
37
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 32

def self.create_event_bus_proxy(vertx=nil,address=nil)
  if vertx.class.method_defined?(:j_del) && address.class == String && !block_given?
    return ::VertxAuth::AuthService.new(Java::IoVertxExtAuth::AuthService.java_method(:createEventBusProxy, [Java::IoVertxCore::Vertx.java_class,Java::java.lang.String.java_class]).call(vertx.j_del,address))
  end
  raise ArgumentError, "Invalid arguments when calling create_event_bus_proxy(vertx,address)"
end

+ (::VertxAuth::AuthService) create_from_class_name(vertx = nil, className = nil)

Create an auth service instance using the specified auth provider class name.

Parameters:

  • vertx (::Vertx::Vertx) (defaults to: nil)
    the Vert.x instance
  • className (String) (defaults to: nil)
    the fully qualified class name of the auth provider implementation class

Returns:

Raises:

  • (ArgumentError)


22
23
24
25
26
27
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 22

def self.create_from_class_name(vertx=nil,className=nil)
  if vertx.class.method_defined?(:j_del) && className.class == String && !block_given?
    return ::VertxAuth::AuthService.new(Java::IoVertxExtAuth::AuthService.java_method(:createFromClassName, [Java::IoVertxCore::Vertx.java_class,Java::java.lang.String.java_class]).call(vertx.j_del,className))
  end
  raise ArgumentError, "Invalid arguments when calling create_from_class_name(vertx,className)"
end

Instance Method Details

- (self) has_permission(loginID = nil, permission = nil) { ... }

Does the user have the specified permission?

Parameters:

  • loginID (String) (defaults to: nil)
    the login ID as provided by #login.
  • permission (String) (defaults to: nil)
    the permission

Yields:

  • will be called with the result - true if has permission, false if not

Returns:

  • (self)

Raises:

  • (ArgumentError)


116
117
118
119
120
121
122
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 116

def has_permission(loginID=nil,permission=nil)
  if loginID.class == String && permission.class == String && block_given?
    @j_del.java_method(:hasPermission, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(loginID,permission,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling has_permission(loginID,permission)"
end

- (self) has_permissions(loginID = nil, permissions = nil) { ... }

Does the user have the specified permissions?

Parameters:

  • loginID (String) (defaults to: nil)
    the login ID as provided by #login.
  • permissions (Set<String>) (defaults to: nil)
    the set of permissions

Yields:

  • will be called with the result - true if has permissions, false if not

Returns:

  • (self)

Raises:

  • (ArgumentError)


128
129
130
131
132
133
134
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 128

def has_permissions(loginID=nil,permissions=nil)
  if loginID.class == String && permissions.class == Set && block_given?
    @j_del.java_method(:hasPermissions, [Java::java.lang.String.java_class,Java::JavaUtil::Set.java_class,Java::IoVertxCore::Handler.java_class]).call(loginID,Java::JavaUtil::LinkedHashSet.new(permissions.map { |element| element }),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling has_permissions(loginID,permissions)"
end

- (self) has_role(loginID = nil, role = nil) { ... }

Does the user have the specified role?

Parameters:

  • loginID (String) (defaults to: nil)
    the login ID as provided by #login.
  • role (String) (defaults to: nil)
    the role

Yields:

  • will be called with the result - true if has role, false if not

Returns:

  • (self)

Raises:

  • (ArgumentError)


92
93
94
95
96
97
98
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 92

def has_role(loginID=nil,role=nil)
  if loginID.class == String && role.class == String && block_given?
    @j_del.java_method(:hasRole, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(loginID,role,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling has_role(loginID,role)"
end

- (self) has_roles(loginID = nil, roles = nil) { ... }

Does the user have the specified roles?

Parameters:

  • loginID (String) (defaults to: nil)
    the login ID as provided by #login.
  • roles (Set<String>) (defaults to: nil)
    the set of roles

Yields:

  • will be called with the result - true if has roles, false if not

Returns:

  • (self)

Raises:

  • (ArgumentError)


104
105
106
107
108
109
110
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 104

def has_roles(loginID=nil,roles=nil)
  if loginID.class == String && roles.class == Set && block_given?
    @j_del.java_method(:hasRoles, [Java::java.lang.String.java_class,Java::JavaUtil::Set.java_class,Java::IoVertxCore::Handler.java_class]).call(loginID,Java::JavaUtil::LinkedHashSet.new(roles.map { |element| element }),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling has_roles(loginID,roles)"
end

- (self) login(principal = nil, credentials = nil) { ... }

Authenticate (login) using the specified credentials. The contents of the credentials depend on what the auth provider is expecting. The default login ID timeout will be used.

Parameters:

  • principal (Hash{String => Object}) (defaults to: nil)
    represents the unique id (e.g. username) of the user being logged in
  • credentials (Hash{String => Object}) (defaults to: nil)
    the credentials - e.g. password

Yields:

  • will be passed a failed result if login failed or will be passed a succeeded result containing the login ID (a string) if login was successful.

Returns:

  • (self)

Raises:

  • (ArgumentError)


44
45
46
47
48
49
50
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 44

def (principal=nil,credentials=nil)
  if principal.class == Hash && credentials.class == Hash && block_given?
    @j_del.java_method(:login, [Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(::Vertx::Util::Utils.to_json_object(principal),::Vertx::Util::Utils.to_json_object(credentials),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling login(principal,credentials)"
end

- (self) login_with_timeout(principal = nil, credentials = nil, timeout = nil) { ... }

Authenticate (login) using the specified credentials. The contents of the credentials depend on what the auth provider is expecting. The specified login ID timeout will be used.

Parameters:

  • principal (Hash{String => Object}) (defaults to: nil)
    represents the unique id (e.g. username) of the user being logged in
  • credentials (Hash{String => Object}) (defaults to: nil)
    the credentials
  • timeout (Fixnum) (defaults to: nil)
    the login timeout to use, in ms

Yields:

  • will be passed a failed result if login failed or will be passed a succeeded result containing the login ID (a string) if login was successful.

Returns:

  • (self)

Raises:

  • (ArgumentError)


58
59
60
61
62
63
64
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 58

def (principal=nil,credentials=nil,timeout=nil)
  if principal.class == Hash && credentials.class == Hash && timeout.class == Fixnum && block_given?
    @j_del.java_method(:loginWithTimeout, [Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::long.java_class,Java::IoVertxCore::Handler.java_class]).call(::Vertx::Util::Utils.to_json_object(principal),::Vertx::Util::Utils.to_json_object(credentials),timeout,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling login_with_timeout(principal,credentials,timeout)"
end

- (self) logout(loginID = nil) { ... }

Logout the user

Parameters:

  • loginID (String) (defaults to: nil)
    the login ID as provided by #login.

Yields:

  • will be called with success or failure

Returns:

  • (self)

Raises:

  • (ArgumentError)


69
70
71
72
73
74
75
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 69

def logout(loginID=nil)
  if loginID.class == String && block_given?
    @j_del.java_method(:logout, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(loginID,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling logout(loginID)"
end

- (self) refresh_login_session(loginID = nil) { ... }

Refresh an existing login ID so it doesn't expire

Parameters:

  • loginID (String) (defaults to: nil)
    the login ID as provided by #login.

Yields:

  • will be called with success or failure

Returns:

  • (self)

Raises:

  • (ArgumentError)


80
81
82
83
84
85
86
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 80

def (loginID=nil)
  if loginID.class == String && block_given?
    @j_del.java_method(:refreshLoginSession, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(loginID,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling refresh_login_session(loginID)"
end

- (self) set_reaper_period(reaperPeriod = nil)

Set the reaper period - how often to check for expired logins, in ms.

Parameters:

  • reaperPeriod (Fixnum) (defaults to: nil)
    the reaper period, in ms

Returns:

  • (self)

Raises:

  • (ArgumentError)


138
139
140
141
142
143
144
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 138

def set_reaper_period(reaperPeriod=nil)
  if reaperPeriod.class == Fixnum && !block_given?
    @j_del.java_method(:setReaperPeriod, [Java::long.java_class]).call(reaperPeriod)
    return self
  end
  raise ArgumentError, "Invalid arguments when calling set_reaper_period(reaperPeriod)"
end

- (void) start

This method returns an undefined value.

Start the service

Raises:

  • (ArgumentError)


147
148
149
150
151
152
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 147

def start
  if !block_given?
    return @j_del.java_method(:start, []).call()
  end
  raise ArgumentError, "Invalid arguments when calling start()"
end

- (void) stop

This method returns an undefined value.

Stop the service

Raises:

  • (ArgumentError)


155
156
157
158
159
160
# File '/Users/julien/java/vertx-aggregator/modules/vertx-auth-service/src/main/resources/vertx-auth/auth_service.rb', line 155

def stop
  if !block_given?
    return @j_del.java_method(:stop, []).call()
  end
  raise ArgumentError, "Invalid arguments when calling stop()"
end