Class: VertxAuthOauth2::OAuth2Auth
- Inherits:
-
VertxAuthCommon::AuthProvider
- Object
- VertxAuthCommon::AuthProvider
- VertxAuthOauth2::OAuth2Auth
- Defined in:
- /Users/julien/java/vertx-stack/stack-docs/target/rb/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)
- + (Boolean) accept?(obj)
-
+ (::VertxAuthOauth2::OAuth2Auth) create(vertx = nil, flow = nil, config = nil)
Create a OAuth2 auth provider.
-
+ (::VertxAuthOauth2::OAuth2Auth) create_keycloak(vertx = nil, flow = nil, config = nil)
The auth provider.
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)
Instance Method Summary (collapse)
-
- (self) api(method = nil, path = nil, params = nil) { ... }
Call OAuth2 APIs.
- - (void) authenticate(arg0 = nil) { ... }
-
- (String) authorize_url(params = nil)
Generate a redirect URL to the authN/Z backend.
-
- (self) decode_token(token = nil) { ... }
Decode a token to a AccessToken object.
-
- (:AUTH_CODE, ...) get_flow_type
Returns the configured flow type for the Oauth2 provider.
-
- (String) get_scope_separator
Returns the scope separator.
-
- (void) get_token(params = nil) { ... }
Returns the Access Token object.
-
- (true, false) has_jwt_token
Returns true if this provider supports JWT tokens as the access_token.
-
- (self) introspect_token(token = nil, tokenType = nil) { ... }
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.
Class Method Details
+ (Boolean) accept?(obj)
22 23 24 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 22 def @@j_api_type.accept?(obj) obj.class == OAuth2Auth end |
+ (::VertxAuthOauth2::OAuth2Auth) create(vertx = nil, flow = nil, config = nil)
Create a OAuth2 auth provider
61 62 63 64 65 66 67 68 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 61 def self.create(vertx=nil,flow=nil,config=nil) if vertx.class.method_defined?(:j_del) && flow.class == Symbol && !block_given? && config == nil return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtAuthOauth2::OAuth2Auth.java_method(:create, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxExtAuthOauth2::OAuth2FlowType.java_class]).call(vertx.j_del,Java::IoVertxExtAuthOauth2::OAuth2FlowType.valueOf(flow.to_s)),::VertxAuthOauth2::OAuth2Auth) elsif vertx.class.method_defined?(:j_del) && flow.class == Symbol && config.class == Hash && !block_given? return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtAuthOauth2::OAuth2Auth.java_method(:create, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxExtAuthOauth2::OAuth2FlowType.java_class,Java::IoVertxExtAuthOauth2::OAuth2ClientOptions.java_class]).call(vertx.j_del,Java::IoVertxExtAuthOauth2::OAuth2FlowType.valueOf(flow.to_s),Java::IoVertxExtAuthOauth2::OAuth2ClientOptions.new(::Vertx::Util::Utils.to_json_object(config))),::VertxAuthOauth2::OAuth2Auth) end raise ArgumentError, "Invalid arguments when calling create(#{vertx},#{flow},#{config})" end |
+ (::VertxAuthOauth2::OAuth2Auth) create_keycloak(vertx = nil, flow = nil, config = nil)
Returns the auth provider
50 51 52 53 54 55 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 50 def self.create_keycloak(vertx=nil,flow=nil,config=nil) if vertx.class.method_defined?(:j_del) && flow.class == Symbol && config.class == Hash && !block_given? return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtAuthOauth2::OAuth2Auth.java_method(:createKeycloak, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxExtAuthOauth2::OAuth2FlowType.java_class,Java::IoVertxCoreJson::JsonObject.java_class]).call(vertx.j_del,Java::IoVertxExtAuthOauth2::OAuth2FlowType.valueOf(flow.to_s),::Vertx::Util::Utils.to_json_object(config)),::VertxAuthOauth2::OAuth2Auth) end raise ArgumentError, "Invalid arguments when calling create_keycloak(#{vertx},#{flow},#{config})" end |
+ (Object) j_api_type
31 32 33 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 31 def self.j_api_type @@j_api_type end |
+ (Object) j_class
34 35 36 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 34 def self.j_class Java::IoVertxExtAuthOauth2::OAuth2Auth.java_class end |
+ (Object) unwrap(obj)
28 29 30 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 28 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
25 26 27 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 25 def @@j_api_type.wrap(obj) OAuth2Auth.new(obj) end |
Instance Method Details
- (self) api(method = nil, path = nil, params = nil) { ... }
Call OAuth2 APIs.
94 95 96 97 98 99 100 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 94 def api(method=nil,path=nil,params=nil) if method.class == Symbol && path.class == String && params.class == Hash && block_given? @j_del.java_method(:api, [Java::IoVertxCoreHttp::HttpMethod.java_class,Java::java.lang.String.java_class,Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(Java::IoVertxCoreHttp::HttpMethod.valueOf(method.to_s),path,::Vertx::Util::Utils.to_json_object(params),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) })) return self end raise ArgumentError, "Invalid arguments when calling api(#{method},#{path},#{params})" end |
- (void) authenticate(arg0 = nil) { ... }
This method returns an undefined value.
40 41 42 43 44 45 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 40 def authenticate(arg0=nil) if arg0.class == Hash && block_given? return @j_del.java_method(:authenticate, [Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(::Vertx::Util::Utils.to_json_object(arg0),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthCommon::User) : nil) })) end raise ArgumentError, "Invalid arguments when calling authenticate(#{arg0})" end |
- (String) authorize_url(params = nil)
Generate a redirect URL to the authN/Z backend. It only applies to auth_code flow.
72 73 74 75 76 77 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 72 def (params=nil) if params.class == Hash && !block_given? return @j_del.java_method(:authorizeURL, [Java::IoVertxCoreJson::JsonObject.java_class]).call(::Vertx::Util::Utils.to_json_object(params)) end raise ArgumentError, "Invalid arguments when calling authorize_url(#{params})" end |
- (self) decode_token(token = nil) { ... }
Decode a token to a AccessToken object. This is useful to handle bearer JWT tokens.
120 121 122 123 124 125 126 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 120 def decode_token(token=nil) if token.class == String && block_given? @j_del.java_method(:decodeToken, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(token,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthOauth2::AccessToken) : nil) })) return self end raise ArgumentError, "Invalid arguments when calling decode_token(#{token})" end |
- (:AUTH_CODE, ...) get_flow_type
Returns the configured flow type for the Oauth2 provider.
156 157 158 159 160 161 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 156 def get_flow_type if !block_given? return @j_del.java_method(:getFlowType, []).call().name.intern end raise ArgumentError, "Invalid arguments when calling get_flow_type()" end |
- (String) get_scope_separator
Returns the scope separator.
The RFC 6749 states that a scope is expressed as a set of case-sensitive and space-delimited strings, however
vendors tend not to agree on this and we see the following cases being used: space, plus sign, comma.
148 149 150 151 152 153 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 148 def get_scope_separator if !block_given? return @j_del.java_method(:getScopeSeparator, []).call() end raise ArgumentError, "Invalid arguments when calling get_scope_separator()" end |
- (void) get_token(params = nil) { ... }
This method returns an undefined value.
Returns the Access Token object.
82 83 84 85 86 87 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 82 def get_token(params=nil) if params.class == Hash && block_given? return @j_del.java_method(:getToken, [Java::IoVertxCoreJson::JsonObject.java_class,Java::IoVertxCore::Handler.java_class]).call(::Vertx::Util::Utils.to_json_object(params),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthOauth2::AccessToken) : nil) })) end raise ArgumentError, "Invalid arguments when calling get_token(#{params})" end |
- (true, false) has_jwt_token
Returns true if this provider supports JWT tokens as the access_token. This is typically true if the provider
implements the `openid-connect` protocol. This is a plain return from the config option jwtToken, which is false
by default.
This information is important to validate grants. Since pure OAuth2 should be used for authorization and when a
token is requested all grants should be declared, in case of openid-connect this is not true. OpenId will issue
a token and all grants will be encoded on the token itself so the requester does not need to list the required
grants.
110 111 112 113 114 115 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 110 def has_jwt_token if !block_given? return @j_del.java_method(:hasJWTToken, []).call() end raise ArgumentError, "Invalid arguments when calling has_jwt_token()" end |
- (self) introspect_token(token = nil, tokenType = nil) { ... }
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.
133 134 135 136 137 138 139 140 141 142 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-auth-oauth2/o_auth2_auth.rb', line 133 def introspect_token(token=nil,tokenType=nil) if token.class == String && block_given? && tokenType == nil @j_del.java_method(:introspectToken, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(token,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxAuthOauth2::AccessToken) : nil) })) return self elsif token.class == String && tokenType.class == String && 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(token,tokenType,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result != nil ? JSON.parse(ar.result.encode) : nil : nil) })) return self end raise ArgumentError, "Invalid arguments when calling introspect_token(#{token},#{tokenType})" end |