public class examples.AuthCommonExamples
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: examples.AuthCommonExamples
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lexamples/AuthCommonExamples;
public void example1(io.vertx.ext.auth.authentication.AuthenticationProvider);
descriptor: (Lio/vertx/ext/auth/authentication/AuthenticationProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
1: ldc "username"
ldc "tim"
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
ldc "password"
ldc "mypassword"
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
2: astore 2
start local 2 3: aload 1
aload 2
invokeinterface io.vertx.ext.auth.authentication.AuthenticationProvider.authenticate:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/Future;
4: invokedynamic handle()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
examples/AuthCommonExamples.lambda$0(Lio/vertx/ext/auth/User;)V (6)
(Lio/vertx/ext/auth/User;)V
invokeinterface io.vertx.core.Future.onSuccess:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
5: invokedynamic handle()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
java/lang/Throwable.printStackTrace()V (5)
(Ljava/lang/Throwable;)V
invokeinterface io.vertx.core.Future.onFailure:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lexamples/AuthCommonExamples;
0 7 1 authProvider Lio/vertx/ext/auth/authentication/AuthenticationProvider;
3 7 2 authInfo Lio/vertx/core/json/JsonObject;
MethodParameters:
Name Flags
authProvider
public void example2(io.vertx.ext.auth.User, io.vertx.ext.auth.authorization.AuthorizationProvider);
descriptor: (Lio/vertx/ext/auth/User;Lio/vertx/ext/auth/authorization/AuthorizationProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokeinterface io.vertx.ext.auth.authorization.AuthorizationProvider.getAuthorizations:(Lio/vertx/ext/auth/User;)Lio/vertx/core/Future;
1: aload 1
invokedynamic handle(Lio/vertx/ext/auth/User;)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
examples/AuthCommonExamples.lambda$2(Lio/vertx/ext/auth/User;Ljava/lang/Void;)V (6)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.Future.onSuccess:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lexamples/AuthCommonExamples;
0 3 1 user Lio/vertx/ext/auth/User;
0 3 2 authorizationProvider Lio/vertx/ext/auth/authorization/AuthorizationProvider;
MethodParameters:
Name Flags
user
authorizationProvider
public void example3(io.vertx.ext.auth.User, io.vertx.ext.auth.authorization.AuthorizationProvider);
descriptor: (Lio/vertx/ext/auth/User;Lio/vertx/ext/auth/authorization/AuthorizationProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokeinterface io.vertx.ext.auth.authorization.AuthorizationProvider.getAuthorizations:(Lio/vertx/ext/auth/User;)Lio/vertx/core/Future;
1: aload 1
invokedynamic handle(Lio/vertx/ext/auth/User;)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
examples/AuthCommonExamples.lambda$3(Lio/vertx/ext/auth/User;Ljava/lang/Void;)V (6)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.Future.onSuccess:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lexamples/AuthCommonExamples;
0 3 1 user Lio/vertx/ext/auth/User;
0 3 2 authorizationProvider Lio/vertx/ext/auth/authorization/AuthorizationProvider;
MethodParameters:
Name Flags
user
authorizationProvider
public void example4(io.vertx.core.Vertx);
descriptor: (Lio/vertx/core/Vertx;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic io.vertx.ext.auth.VertxContextPRNG.current:(Lio/vertx/core/Vertx;)Lio/vertx/ext/auth/VertxContextPRNG;
bipush 32
invokeinterface io.vertx.ext.auth.VertxContextPRNG.nextString:(I)Ljava/lang/String;
pop
1: aload 1
invokestatic io.vertx.ext.auth.VertxContextPRNG.current:(Lio/vertx/core/Vertx;)Lio/vertx/ext/auth/VertxContextPRNG;
invokeinterface io.vertx.ext.auth.VertxContextPRNG.nextInt:()I
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lexamples/AuthCommonExamples;
0 3 1 vertx Lio/vertx/core/Vertx;
MethodParameters:
Name Flags
vertx
public void example5();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new io.vertx.ext.auth.KeyStoreOptions
dup
invokespecial io.vertx.ext.auth.KeyStoreOptions.<init>:()V
1: ldc "/path/to/keystore/file"
invokevirtual io.vertx.ext.auth.KeyStoreOptions.setPath:(Ljava/lang/String;)Lio/vertx/ext/auth/KeyStoreOptions;
2: ldc "pkcs8"
invokevirtual io.vertx.ext.auth.KeyStoreOptions.setType:(Ljava/lang/String;)Lio/vertx/ext/auth/KeyStoreOptions;
3: ldc "keystore-password"
invokevirtual io.vertx.ext.auth.KeyStoreOptions.setPassword:(Ljava/lang/String;)Lio/vertx/ext/auth/KeyStoreOptions;
4: ldc "key-alias"
ldc "alias-password"
invokevirtual io.vertx.ext.auth.KeyStoreOptions.putPasswordProtection:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/ext/auth/KeyStoreOptions;
pop
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lexamples/AuthCommonExamples;
public void example6(io.vertx.core.Vertx);
descriptor: (Lio/vertx/core/Vertx;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new io.vertx.ext.auth.PubSecKeyOptions
dup
invokespecial io.vertx.ext.auth.PubSecKeyOptions.<init>:()V
1: ldc "RS256"
invokevirtual io.vertx.ext.auth.PubSecKeyOptions.setAlgorithm:(Ljava/lang/String;)Lio/vertx/ext/auth/PubSecKeyOptions;
2: aload 1
invokeinterface io.vertx.core.Vertx.fileSystem:()Lio/vertx/core/file/FileSystem;
3: ldc "/path/to/pem/file"
invokeinterface io.vertx.core.file.FileSystem.readFileBlocking:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
4: invokeinterface io.vertx.core.buffer.Buffer.toString:()Ljava/lang/String;
5: invokevirtual io.vertx.ext.auth.PubSecKeyOptions.setBuffer:(Ljava/lang/String;)Lio/vertx/ext/auth/PubSecKeyOptions;
pop
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lexamples/AuthCommonExamples;
0 7 1 vertx Lio/vertx/core/Vertx;
MethodParameters:
Name Flags
vertx
public void example7(io.vertx.core.Vertx, io.vertx.ext.auth.authentication.AuthenticationProvider, io.vertx.ext.auth.authentication.AuthenticationProvider);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/authentication/AuthenticationProvider;Lio/vertx/ext/auth/authentication/AuthenticationProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic io.vertx.ext.auth.ChainAuth.any:()Lio/vertx/ext/auth/ChainAuth;
1: aload 2
invokeinterface io.vertx.ext.auth.ChainAuth.add:(Lio/vertx/ext/auth/authentication/AuthenticationProvider;)Lio/vertx/ext/auth/ChainAuth;
2: aload 3
invokeinterface io.vertx.ext.auth.ChainAuth.add:(Lio/vertx/ext/auth/authentication/AuthenticationProvider;)Lio/vertx/ext/auth/ChainAuth;
pop
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lexamples/AuthCommonExamples;
0 4 1 vertx Lio/vertx/core/Vertx;
0 4 2 ldapAuthProvider Lio/vertx/ext/auth/authentication/AuthenticationProvider;
0 4 3 propertiesAuthProvider Lio/vertx/ext/auth/authentication/AuthenticationProvider;
MethodParameters:
Name Flags
vertx
ldapAuthProvider
propertiesAuthProvider
public void example8(io.vertx.core.Vertx, io.vertx.ext.auth.authentication.AuthenticationProvider, io.vertx.ext.auth.authentication.AuthenticationProvider);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/authentication/AuthenticationProvider;Lio/vertx/ext/auth/authentication/AuthenticationProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic io.vertx.ext.auth.ChainAuth.all:()Lio/vertx/ext/auth/ChainAuth;
1: aload 2
invokeinterface io.vertx.ext.auth.ChainAuth.add:(Lio/vertx/ext/auth/authentication/AuthenticationProvider;)Lio/vertx/ext/auth/ChainAuth;
2: aload 3
invokeinterface io.vertx.ext.auth.ChainAuth.add:(Lio/vertx/ext/auth/authentication/AuthenticationProvider;)Lio/vertx/ext/auth/ChainAuth;
pop
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lexamples/AuthCommonExamples;
0 4 1 vertx Lio/vertx/core/Vertx;
0 4 2 ldapAuthProvider Lio/vertx/ext/auth/authentication/AuthenticationProvider;
0 4 3 propertiesAuthProvider Lio/vertx/ext/auth/authentication/AuthenticationProvider;
MethodParameters:
Name Flags
vertx
ldapAuthProvider
propertiesAuthProvider
public void example9(io.vertx.ext.auth.User);
descriptor: (Lio/vertx/ext/auth/User;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "sub"
invokeinterface io.vertx.ext.auth.User.containsKey:(Ljava/lang/String;)Z
ifeq 2
1: aload 1
ldc "sub"
invokeinterface io.vertx.ext.auth.User.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lexamples/AuthCommonExamples;
0 3 1 user Lio/vertx/ext/auth/User;
MethodParameters:
Name Flags
user
private static void lambda$0(io.vertx.ext.auth.User);
descriptor: (Lio/vertx/ext/auth/User;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "User "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokeinterface io.vertx.ext.auth.User.principal:()Lio/vertx/core/json/JsonObject;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is now authenticated"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 user Lio/vertx/ext/auth/User;
private static void lambda$2(io.vertx.ext.auth.User, java.lang.Void);
descriptor: (Lio/vertx/ext/auth/User;Ljava/lang/Void;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: ldc "printer1234"
invokestatic io.vertx.ext.auth.authorization.PermissionBasedAuthorization.create:(Ljava/lang/String;)Lio/vertx/ext/auth/authorization/PermissionBasedAuthorization;
aload 0
invokeinterface io.vertx.ext.auth.authorization.PermissionBasedAuthorization.match:(Lio/vertx/ext/auth/User;)Z
ifeq 3
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "User has the authority"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: goto 4
3: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "User does not have the authority"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 5 1 done Ljava/lang/Void;
private static void lambda$3(io.vertx.ext.auth.User, java.lang.Void);
descriptor: (Lio/vertx/ext/auth/User;Ljava/lang/Void;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: ldc "admin"
invokestatic io.vertx.ext.auth.authorization.RoleBasedAuthorization.create:(Ljava/lang/String;)Lio/vertx/ext/auth/authorization/RoleBasedAuthorization;
aload 0
invokeinterface io.vertx.ext.auth.authorization.RoleBasedAuthorization.match:(Lio/vertx/ext/auth/User;)Z
ifeq 3
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "User has the authority"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: goto 4
3: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "User does not have the authority"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 5 1 done Ljava/lang/Void;
}
SourceFile: "AuthCommonExamples.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles