Class: VertxAuthOauth2::AzureADAuth

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

Overview

Simplified factory to create an for Azure AD.

Constant Summary

@@j_api_type =
Object.new

Class Method Summary (collapse)

Class Method Details

+ (Boolean) accept?(obj)

Returns:

  • (Boolean)


23
24
25
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/azure_ad_auth.rb', line 23

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

+ (::VertxAuthOauth2::OAuth2Auth) create(vertx, clientId, clientSecret, guid) + (::VertxAuthOauth2::OAuth2Auth) create(vertx, clientId, clientSecret, guid, httpClientOptions)

Create a OAuth2Auth provider for Microsoft Azure Active Directory

Overloads:

  • + (::VertxAuthOauth2::OAuth2Auth) create(vertx, clientId, clientSecret, guid)

    Parameters:

    • vertx (::Vertx::Vertx)
    • clientId (String)
      the client id given to you by Azure
    • clientSecret (String)
      the client secret given to you by Azure
    • guid (String)
      the guid of your application given to you by Azure
  • + (::VertxAuthOauth2::OAuth2Auth) create(vertx, clientId, clientSecret, guid, httpClientOptions)

    Parameters:

    • vertx (::Vertx::Vertx)
    • clientId (String)
      the client id given to you by Azure
    • clientSecret (String)
      the client secret given to you by Azure
    • guid (String)
      the guid of your application given to you by Azure
    • httpClientOptions (Hash{String => Object})
      custom http client options

Returns:



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

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

+ (void) discover(vertx, config, handler) { ... }

This method returns an undefined value.

Create a OAuth2Auth provider for OpenID Connect Discovery. The discovery will use the default site in the configuration options and attempt to load the well known descriptor. If a site is provided (for example when running on a custom instance) that site will be used to do the lookup.

If the discovered config includes a json web key url, it will be also fetched and the JWKs will be loaded into the OAuth provider so tokens can be decoded.

With this provider, if the given configuration is using the flow type then the extra parameters object will include requested_token_use = on_behalf_of as required by https://docs.microsoft.com/en-us/azure/active-directory.

Parameters:

  • vertx (::Vertx::Vertx)
    the vertx instance
  • config (Hash{String => Object})
    the initial config

Yields:

  • the instantiated Oauth2 provider instance handler


53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-auth-oauth2/azure_ad_auth.rb', line 53

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

+ (Object) j_api_type



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

def self.j_api_type
  @@j_api_type
end

+ (Object) j_class



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

def self.j_class
  Java::IoVertxExtAuthOauth2Providers::AzureADAuth.java_class
end

+ (Object) unwrap(obj)



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

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

+ (Object) wrap(obj)



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

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