Class: VertxAuthOauth2::OAuth2Auth

Inherits:
VertxAuthCommon::AuthProvider show all
Defined in:
/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb

Overview

Factory interface for creating OAuth2 based VertxAuthCommon::AuthProvider instances.

Constant Summary

@@j_api_type =
Object.new

Class Method Summary (collapse)

Instance Method Summary (collapse)

Methods inherited from VertxAuthCommon::AuthenticationProvider

#authenticate

Class Method Details

+ (Boolean) accept?(obj)

Returns:

  • (Boolean)


25
26
27
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 25

def @@j_api_type.accept?(obj)
  obj.class == OAuth2Auth
end

+ (::VertxAuthOauth2::OAuth2Auth) create(vertx) + (::VertxAuthOauth2::OAuth2Auth) create(vertx, config)

Create a OAuth2 auth provider

Overloads:

Returns:



199
200
201
202
203
204
205
206
207
208
209
210
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 199

def self.create(*args)
  if args[0].class.method_defined?(:j_del) && !block_given? && args[1] == nil
    return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtAuthOauth2::OAuth2Auth.java_method(:create, [Java::IoVertxCore::Vertx.java_class]).call(args[0].j_del),::VertxAuthOauth2::OAuth2Auth)
  elsif args[0].class.method_defined?(:j_del) && args[1].class == Hash && !block_given?
    return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtAuthOauth2::OAuth2Auth.java_method(:create, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxExtAuthOauth2::OAuth2ClientOptions.java_class]).call(args[0].j_del,Java::IoVertxExtAuthOauth2::OAuth2ClientOptions.new(::Vertx::Util::Utils.to_json_object(args[1]))),::VertxAuthOauth2::OAuth2Auth)
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling create(#{args[0]},#{args[1]})"
  end
end

+ (Object) j_api_type



34
35
36
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 34

def self.j_api_type
  @@j_api_type
end

+ (Object) j_class



37
38
39
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 37

def self.j_class
  Java::IoVertxExtAuthOauth2::OAuth2Auth.java_class
end

+ (Object) unwrap(obj)



31
32
33
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 31

def @@j_api_type.unwrap(obj)
  obj.j_del
end

+ (Object) wrap(obj)



28
29
30
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 28

def @@j_api_type.wrap(obj)
  OAuth2Auth.new(obj)
end

Instance Method Details

- (String) authorizeURL(params)

The client sends the end-user's browser to this endpoint to request their authentication and consent. This endpoint is used in the code and implicit OAuth 2.0 flows which require end-user interaction.

Parameters:

  • params (Hash{String => Object})
    extra params to be included in the final URL.

Returns:

  • (String)
    the url to be used to authorize the user.


82
83
84
85
86
87
88
89
90
91
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 82

def authorize_url(*args)
  if args[0].class == Hash && !block_given?
    return @j_del.java_method(:authorizeURL, [Java::IoVertxCoreJson::JsonObject.java_class]).call(::Vertx::Util::Utils.to_json_object(args[0]))
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling authorize_url(#{args[0]})"
  end
end

- (self) decodeToken(token, handler) { ... }

Decode a token to a AccessToken object. This is useful to handle bearer JWT tokens.

Parameters:

  • token (String)
    the access token (base64 string)

Yields:

  • A handler to receive the event

Returns:

  • (self)


238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 238

def decode_token(*args)
  if args[0].class == String && true
    if (block_given?)
      @j_del.java_method(:decodeToken, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthOauth2::AccessToken) : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:decodeToken, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthOauth2::AccessToken) : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future,::VertxAuthOauth2::AccessToken.j_api_type)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling decode_token(#{args[0]})"
  end
end

- (String) endSessionURL(user) - (String) endSessionURL(user, params)

The logout (end-session) endpoint is specified in OpenID Connect Session Management 1.0. More info: https://openid.net/specs/openid-connect-session-1_0.html.

Overloads:

  • - (String) endSessionURL(user)

    Parameters:

  • - (String) endSessionURL(user, params)

    Parameters:

    • user (::VertxAuthCommon::User)
      the user to generate the url for
    • params (Hash{String => Object})
      extra parameters to apply to the url

Returns:

  • (String)
    the url to end the session.


123
124
125
126
127
128
129
130
131
132
133
134
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 123

def end_session_url(*args)
  if args[0].class.method_defined?(:j_del) && !block_given? && args[1] == nil
    return @j_del.java_method(:endSessionURL, [Java::IoVertxExtAuth::User.java_class]).call(args[0].j_del)
  elsif args[0].class.method_defined?(:j_del) && args[1].class == Hash && !block_given?
    return @j_del.java_method(:endSessionURL, [Java::IoVertxExtAuth::User.java_class,Java::IoVertxCoreJson::JsonObject.java_class]).call(args[0].j_del,::Vertx::Util::Utils.to_json_object(args[1]))
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling end_session_url(#{args[0]},#{args[1]})"
  end
end

- (:AUTH_CODE, ...) getFlowType

Returns the configured flow type for the Oauth2 provider.

Returns:

  • (:AUTH_CODE, :IMPLICIT, :PASSWORD, :CLIENT, :AUTH_JWT)
    the flow type.


258
259
260
261
262
263
264
265
266
267
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 258

def get_flow_type
  if !block_given?
    return @j_del.java_method(:getFlowType, []).call().name.intern
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling get_flow_type()"
  end
end

- (self) introspectToken(token, handler) { ... } - (self) introspectToken(token, tokenType, handler) { ... }

Query an OAuth 2.0 authorization server to determine the active state of an OAuth 2.0 token and to determine meta-information about this token.

Overloads:

  • - (self) introspectToken(token, handler) { ... }

    Parameters:

    • token (String)
      the access token (base64 string)

    Yields:

    • A handler to receive the event
  • - (self) introspectToken(token, tokenType, handler) { ... }

    Parameters:

    • token (String)
      the access token (base64 string)
    • tokenType (String)
      hint to the token type e.g.: `access_token`

    Yields:

    • A handler to receive the event

Returns:

  • (self)


278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 278

def introspect_token(*args)
  if args[0].class == String && true && args[1] == nil
    if (block_given?)
      @j_del.java_method(:introspectToken, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthOauth2::AccessToken) : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:introspectToken, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthOauth2::AccessToken) : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future,::VertxAuthOauth2::AccessToken.j_api_type)
    end
  elsif args[0].class == String && args[1].class == String && true
    if (block_given?)
      @j_del.java_method(:introspectToken, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],args[1],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthOauth2::AccessToken) : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:introspectToken, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],args[1],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthOauth2::AccessToken) : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future,::VertxAuthOauth2::AccessToken.j_api_type)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling introspect_token(#{args[0]},#{args[1]})"
  end
end

- (self) jWKSet(handler) { ... }

Retrieve the public server JSON Web Key (JWK) required to verify the authenticity of issued ID and access tokens.

Yields:

  • the handler success/failure.

Returns:

  • (self)


216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 216

def j_wk_set
  if true
    if (block_given?)
      @j_del.java_method(:jWKSet, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:jWKSet, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling j_wk_set()"
  end
end

- (self) loadJWK(handler) { ... }

Loads a JWK Set from the remote provider. When calling this method several times, the loaded JWKs are updated in the underlying JWT object.

Yields:

Returns:

  • (self)


98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 98

def load_jwk
  if true
    if (block_given?)
      @j_del.java_method(:loadJWK, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:loadJWK, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling load_jwk()"
  end
end

- (self) rbacHandler(rbac)

Parameters:

Returns:

  • (self)


65
66
67
68
69
70
71
72
73
74
75
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 65

def rbac_handler(*args)
  if args[0].class.method_defined?(:j_del) && !block_given?
    @j_del.java_method(:rbacHandler, [Java::IoVertxExtAuthOauth2::OAuth2RBAC.java_class]).call(args[0].j_del)
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling rbac_handler(#{args[0]})"
  end
end

- (self) refresh(user, handler) { ... }

Refresh the current User (access token).

Parameters:

Yields:

  • the handler success/failure.

Returns:

  • (self)


175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 175

def refresh(*args)
  if args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      @j_del.java_method(:refresh, [Java::IoVertxExtAuth::User.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthCommon::User) : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:refresh, [Java::IoVertxExtAuth::User.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthCommon::User) : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future,::VertxAuthCommon::User.j_api_type)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling refresh(#{args[0]})"
  end
end

- (self) revoke(user, handler) { ... } - (self) revoke(user, tokenType, handler) { ... }

Revoke an obtained access or refresh token. More info https://tools.ietf.org/html/rfc7009.

Overloads:

  • - (self) revoke(user, handler) { ... }

    Parameters:

    Yields:

    • the handler success/failure.
  • - (self) revoke(user, tokenType, handler) { ... }

    Parameters:

    • user (::VertxAuthCommon::User)
      the user (access token) to revoke.
    • tokenType (String)
      the token type (either access_token or refresh_token).

    Yields:

    • the handler success/failure.

Returns:

  • (self)


144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 144

def revoke(*args)
  if args[0].class.method_defined?(:j_del) && true && args[1] == nil
    if (block_given?)
      @j_del.java_method(:revoke, [Java::IoVertxExtAuth::User.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:revoke, [Java::IoVertxExtAuth::User.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  elsif args[0].class.method_defined?(:j_del) && args[1].class == String && true
    if (block_given?)
      @j_del.java_method(:revoke, [Java::IoVertxExtAuth::User.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,args[1],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:revoke, [Java::IoVertxExtAuth::User.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,args[1],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling revoke(#{args[0]},#{args[1]})"
  end
end

- (self) userInfo(user, handler) { ... }

Retrieve profile information and other attributes for a logged-in end-user. More info https://openid.net/specs/openid-connect-core-1_0.html#UserInfo

Parameters:

Yields:

  • the handler success/failure.

Returns:

  • (self)


45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/o_auth2_auth.rb', line 45

def (*args)
  if args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      @j_del.java_method(:userInfo, [Java::IoVertxExtAuth::User.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:userInfo, [Java::IoVertxExtAuth::User.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling user_info(#{args[0]})"
  end
end