public interface io.vertx.ext.auth.oauth2.providers.KeycloakAuth extends io.vertx.ext.auth.oauth2.providers.OpenIDConnectAuth
minor version: 0
major version: 59
flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
this_class: io.vertx.ext.auth.oauth2.providers.KeycloakAuth
super_class: java.lang.Object
{
public static io.vertx.ext.auth.oauth2.OAuth2Auth create(io.vertx.core.Vertx, io.vertx.core.json.JsonObject);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.AUTH_CODE:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
aload 1
invokestatic io.vertx.ext.auth.oauth2.providers.KeycloakAuth.create:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2FlowType;Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 vertx Lio/vertx/core/Vertx;
0 1 1 config Lio/vertx/core/json/JsonObject;
MethodParameters:
Name Flags
vertx
config
public static io.vertx.ext.auth.oauth2.OAuth2Auth create(io.vertx.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType, io.vertx.core.json.JsonObject);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2FlowType;Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
new io.vertx.core.http.HttpClientOptions
dup
invokespecial io.vertx.core.http.HttpClientOptions.<init>:()V
invokestatic io.vertx.ext.auth.oauth2.providers.KeycloakAuth.create:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2FlowType;Lio/vertx/core/json/JsonObject;Lio/vertx/core/http/HttpClientOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 vertx Lio/vertx/core/Vertx;
0 1 1 flow Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
0 1 2 config Lio/vertx/core/json/JsonObject;
MethodParameters:
Name Flags
vertx
flow
config
public static io.vertx.ext.auth.oauth2.OAuth2Auth create(io.vertx.core.Vertx, io.vertx.core.json.JsonObject, io.vertx.core.http.HttpClientOptions);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/json/JsonObject;Lio/vertx/core/http/HttpClientOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.AUTH_CODE:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
aload 1
aload 2
invokestatic io.vertx.ext.auth.oauth2.providers.KeycloakAuth.create:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2FlowType;Lio/vertx/core/json/JsonObject;Lio/vertx/core/http/HttpClientOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 vertx Lio/vertx/core/Vertx;
0 1 1 config Lio/vertx/core/json/JsonObject;
0 1 2 httpClientOptions Lio/vertx/core/http/HttpClientOptions;
MethodParameters:
Name Flags
vertx
config
httpClientOptions
public static io.vertx.ext.auth.oauth2.OAuth2Auth create(io.vertx.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2FlowType, io.vertx.core.json.JsonObject, io.vertx.core.http.HttpClientOptions);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2FlowType;Lio/vertx/core/json/JsonObject;Lio/vertx/core/http/HttpClientOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new io.vertx.ext.auth.oauth2.OAuth2Options
dup
invokespecial io.vertx.ext.auth.oauth2.OAuth2Options.<init>:()V
1: aload 3
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setHttpClientOptions:(Lio/vertx/core/http/HttpClientOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
2: astore 4
start local 4 3: aload 4
aload 1
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setFlow:(Lio/vertx/ext/auth/oauth2/OAuth2FlowType;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
4: aload 2
ldc "resource"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 6
5: aload 4
aload 2
ldc "resource"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setClientID:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
6: StackMap locals: io.vertx.ext.auth.oauth2.OAuth2Options
StackMap stack:
aload 2
ldc "auth-server-url"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 8
7: aload 4
aload 2
ldc "auth-server-url"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setSite:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
8: StackMap locals:
StackMap stack:
aload 2
ldc "credentials"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 10
aload 2
ldc "credentials"
invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
ldc "secret"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 10
9: aload 4
aload 2
ldc "credentials"
invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
ldc "secret"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setClientSecret:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
10: StackMap locals:
StackMap stack:
aload 2
ldc "public-client"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 12
aload 2
ldc "public-client"
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual io.vertx.core.json.JsonObject.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 12
11: aload 4
iconst_1
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setUseBasicAuthorizationHeader:(Z)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
12: StackMap locals:
StackMap stack:
aload 2
ldc "realm"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 21
13: aload 2
ldc "realm"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 14: aload 4
new java.lang.StringBuilder
dup
ldc "/realms/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/protocol/openid-connect/auth"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setAuthorizationPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
15: aload 4
new java.lang.StringBuilder
dup
ldc "/realms/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/protocol/openid-connect/token"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setTokenPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
16: aload 4
aconst_null
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setRevocationPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
17: aload 4
new java.lang.StringBuilder
dup
ldc "/realms/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/protocol/openid-connect/logout"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setLogoutPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
18: aload 4
new java.lang.StringBuilder
dup
ldc "/realms/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/protocol/openid-connect/userinfo"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setUserInfoPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
19: aload 4
new java.lang.StringBuilder
dup
ldc "/realms/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/protocol/openid-connect/token/introspect"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setIntrospectionPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
20: aload 4
new java.lang.StringBuilder
dup
ldc "/realms/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/protocol/openid-connect/certs"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setJwkPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
end local 5 21: StackMap locals:
StackMap stack:
aload 2
ldc "realm-public-key"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 26
22: aload 4
new io.vertx.ext.auth.PubSecKeyOptions
dup
invokespecial io.vertx.ext.auth.PubSecKeyOptions.<init>:()V
23: ldc "RS256"
invokevirtual io.vertx.ext.auth.PubSecKeyOptions.setAlgorithm:(Ljava/lang/String;)Lio/vertx/ext/auth/PubSecKeyOptions;
24: aload 2
ldc "realm-public-key"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.PubSecKeyOptions.setBuffer:(Ljava/lang/String;)Lio/vertx/ext/auth/PubSecKeyOptions;
25: invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.addPubSecKey:(Lio/vertx/ext/auth/PubSecKeyOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
pop
26: StackMap locals:
StackMap stack:
aload 0
aload 4
invokestatic io.vertx.ext.auth.oauth2.OAuth2Auth.create:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
27: aload 4
invokestatic io.vertx.ext.auth.oauth2.rbac.KeycloakRBAC.create:(Lio/vertx/ext/auth/oauth2/OAuth2Options;)Lio/vertx/ext/auth/oauth2/OAuth2RBAC;
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.rbacHandler:(Lio/vertx/ext/auth/oauth2/OAuth2RBAC;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
28: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 vertx Lio/vertx/core/Vertx;
0 29 1 flow Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
0 29 2 config Lio/vertx/core/json/JsonObject;
0 29 3 httpClientOptions Lio/vertx/core/http/HttpClientOptions;
3 29 4 options Lio/vertx/ext/auth/oauth2/OAuth2Options;
14 21 5 realm Ljava/lang/String;
MethodParameters:
Name Flags
vertx
flow
config
httpClientOptions
public static void discover(io.vertx.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2Options, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.oauth2.OAuth2Auth>>);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/Handler;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new io.vertx.ext.auth.oauth2.OAuth2Options
dup
aload 1
invokespecial io.vertx.ext.auth.oauth2.OAuth2Options.<init>:(Lio/vertx/ext/auth/oauth2/OAuth2Options;)V
astore 3
start local 3 1: aload 0
aload 3
aload 3
aload 2
invokedynamic handle(Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/auth/oauth2/providers/KeycloakAuth.lambda$0(Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6 itf)
(Lio/vertx/core/AsyncResult;)V
invokestatic io.vertx.ext.auth.oauth2.providers.OpenIDConnectAuth.discover:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/Handler;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 vertx Lio/vertx/core/Vertx;
0 3 1 config Lio/vertx/ext/auth/oauth2/OAuth2Options;
0 3 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/OAuth2Auth;>;>;
1 3 3 options Lio/vertx/ext/auth/oauth2/OAuth2Options;
Signature: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/OAuth2Auth;>;>;)V
MethodParameters:
Name Flags
vertx final
config final
handler final
public static io.vertx.core.Future<io.vertx.ext.auth.oauth2.OAuth2Auth> discover(io.vertx.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2Options);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;)Lio/vertx/core/Future;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
astore 2
start local 2 1: aload 0
aload 1
aload 2
invokestatic io.vertx.ext.auth.oauth2.providers.KeycloakAuth.discover:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/Handler;)V
2: aload 2
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 vertx Lio/vertx/core/Vertx;
0 3 1 config Lio/vertx/ext/auth/oauth2/OAuth2Options;
1 3 2 promise Lio/vertx/core/Promise<Lio/vertx/ext/auth/oauth2/OAuth2Auth;>;
Signature: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;)Lio/vertx/core/Future<Lio/vertx/ext/auth/oauth2/OAuth2Auth;>;
MethodParameters:
Name Flags
vertx final
config final
private static void lambda$0(io.vertx.ext.auth.oauth2.OAuth2Options, io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 2 0: aload 2
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 2
1: aload 2
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.ext.auth.oauth2.OAuth2Auth
aload 0
invokestatic io.vertx.ext.auth.oauth2.rbac.KeycloakRBAC.create:(Lio/vertx/ext/auth/oauth2/OAuth2Options;)Lio/vertx/ext/auth/oauth2/OAuth2RBAC;
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.rbacHandler:(Lio/vertx/ext/auth/oauth2/OAuth2RBAC;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
pop
2: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
3: return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 4 2 discover Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/OAuth2Auth;>;
}
SourceFile: "KeycloakAuth.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
RuntimeVisibleAnnotations:
io.vertx.codegen.annotations.VertxGen()