public class io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl implements io.vertx.ext.auth.mongo.MongoUserUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl
super_class: java.lang.Object
{
private final io.vertx.ext.mongo.MongoClient client;
descriptor: Lio/vertx/ext/mongo/MongoClient;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.auth.HashingStrategy strategy;
descriptor: Lio/vertx/ext/auth/HashingStrategy;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.auth.mongo.MongoAuthenticationOptions authnOptions;
descriptor: Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.auth.mongo.MongoAuthorizationOptions authzOptions;
descriptor: Lio/vertx/ext/auth/mongo/MongoAuthorizationOptions;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(io.vertx.ext.mongo.MongoClient);
descriptor: (Lio/vertx/ext/mongo/MongoClient;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
new io.vertx.ext.auth.mongo.MongoAuthenticationOptions
dup
invokespecial io.vertx.ext.auth.mongo.MongoAuthenticationOptions.<init>:()V
new io.vertx.ext.auth.mongo.MongoAuthorizationOptions
dup
invokespecial io.vertx.ext.auth.mongo.MongoAuthorizationOptions.<init>:()V
invokespecial io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.<init>:(Lio/vertx/ext/mongo/MongoClient;Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;Lio/vertx/ext/auth/mongo/MongoAuthorizationOptions;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/auth/mongo/impl/MongoUserUtilImpl;
0 2 1 client Lio/vertx/ext/mongo/MongoClient;
MethodParameters:
Name Flags
client
public void <init>(io.vertx.ext.mongo.MongoClient, io.vertx.ext.auth.mongo.MongoAuthenticationOptions, io.vertx.ext.auth.mongo.MongoAuthorizationOptions);
descriptor: (Lio/vertx/ext/mongo/MongoClient;Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;Lio/vertx/ext/auth/mongo/MongoAuthorizationOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic io.vertx.ext.auth.HashingStrategy.load:()Lio/vertx/ext/auth/HashingStrategy;
putfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.strategy:Lio/vertx/ext/auth/HashingStrategy;
2: aload 0
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
putfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.random:Ljava/security/SecureRandom;
3: aload 0
aload 1
putfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.client:Lio/vertx/ext/mongo/MongoClient;
4: aload 0
aload 2
putfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.authnOptions:Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
5: aload 0
aload 3
putfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.authzOptions:Lio/vertx/ext/auth/mongo/MongoAuthorizationOptions;
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/ext/auth/mongo/impl/MongoUserUtilImpl;
0 7 1 client Lio/vertx/ext/mongo/MongoClient;
0 7 2 authnOptions Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
0 7 3 authzOptions Lio/vertx/ext/auth/mongo/MongoAuthorizationOptions;
MethodParameters:
Name Flags
client
authnOptions
authzOptions
public io.vertx.ext.auth.mongo.MongoUserUtil createUser(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/mongo/MongoUserUtil;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 2
ifnonnull 3
1: StackMap locals:
StackMap stack:
aload 3
ldc "username or password are null"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
bipush 32
newarray 8
astore 4
start local 4 4: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.random:Ljava/security/SecureRandom;
aload 4
invokevirtual java.security.SecureRandom.nextBytes:([B)V
5: aload 0
6: aload 1
7: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.strategy:Lio/vertx/ext/auth/HashingStrategy;
ldc "pbkdf2"
8: aconst_null
9: invokestatic java.util.Base64.getMimeEncoder:()Ljava/util/Base64$Encoder;
aload 4
invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
10: aload 2
11: invokeinterface io.vertx.ext.auth.HashingStrategy.hash:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
12: aload 3
13: invokevirtual io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.createHashedUser:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/mongo/MongoUserUtil;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/vertx/ext/auth/mongo/impl/MongoUserUtilImpl;
0 14 1 username Ljava/lang/String;
0 14 2 password Ljava/lang/String;
0 14 3 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
4 14 4 salt [B
Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)Lio/vertx/ext/auth/mongo/MongoUserUtil;
MethodParameters:
Name Flags
username
password
resultHandler
public io.vertx.ext.auth.mongo.MongoUserUtil createHashedUser(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/mongo/MongoUserUtil;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 2
ifnonnull 3
1: StackMap locals:
StackMap stack:
aload 3
ldc "username or password hash are null"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.client:Lio/vertx/ext/mongo/MongoClient;
4: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.authnOptions:Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
invokevirtual io.vertx.ext.auth.mongo.MongoAuthenticationOptions.getCollectionName:()Ljava/lang/String;
5: new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
6: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.authnOptions:Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
invokevirtual io.vertx.ext.auth.mongo.MongoAuthenticationOptions.getUsernameCredentialField:()Ljava/lang/String;
aload 1
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
7: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.authnOptions:Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
invokevirtual io.vertx.ext.auth.mongo.MongoAuthenticationOptions.getPasswordCredentialField:()Ljava/lang/String;
aload 2
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
8: aload 3
9: invokeinterface io.vertx.ext.mongo.MongoClient.save:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)Lio/vertx/ext/mongo/MongoClient;
pop
10: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/ext/auth/mongo/impl/MongoUserUtilImpl;
0 11 1 username Ljava/lang/String;
0 11 2 hash Ljava/lang/String;
0 11 3 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)Lio/vertx/ext/auth/mongo/MongoUserUtil;
MethodParameters:
Name Flags
username
hash
resultHandler
public io.vertx.ext.auth.mongo.MongoUserUtil createUserRolesAndPermissions(java.lang.String, java.util.List<java.lang.String>, java.util.List<java.lang.String>, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/mongo/MongoUserUtil;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnonnull 3
1: aload 4
ldc "username is null"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.client:Lio/vertx/ext/mongo/MongoClient;
4: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.authzOptions:Lio/vertx/ext/auth/mongo/MongoAuthorizationOptions;
invokevirtual io.vertx.ext.auth.mongo.MongoAuthorizationOptions.getCollectionName:()Ljava/lang/String;
5: new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
6: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.authzOptions:Lio/vertx/ext/auth/mongo/MongoAuthorizationOptions;
invokevirtual io.vertx.ext.auth.mongo.MongoAuthorizationOptions.getUsernameField:()Ljava/lang/String;
aload 1
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
7: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.authzOptions:Lio/vertx/ext/auth/mongo/MongoAuthorizationOptions;
invokevirtual io.vertx.ext.auth.mongo.MongoAuthorizationOptions.getRoleField:()Ljava/lang/String;
aload 2
ifnonnull 8
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
goto 9
StackMap locals: io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl java.lang.String java.util.List java.util.List io.vertx.core.Handler
StackMap stack: io.vertx.ext.mongo.MongoClient java.lang.String io.vertx.core.json.JsonObject java.lang.String
8: aload 2
StackMap locals: io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl java.lang.String java.util.List java.util.List io.vertx.core.Handler
StackMap stack: io.vertx.ext.mongo.MongoClient java.lang.String io.vertx.core.json.JsonObject java.lang.String java.util.List
9: invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
10: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl.authzOptions:Lio/vertx/ext/auth/mongo/MongoAuthorizationOptions;
invokevirtual io.vertx.ext.auth.mongo.MongoAuthorizationOptions.getPermissionField:()Ljava/lang/String;
aload 3
ifnonnull 11
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
goto 12
StackMap locals: io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl java.lang.String java.util.List java.util.List io.vertx.core.Handler
StackMap stack: io.vertx.ext.mongo.MongoClient java.lang.String io.vertx.core.json.JsonObject java.lang.String
11: aload 3
StackMap locals: io.vertx.ext.auth.mongo.impl.MongoUserUtilImpl java.lang.String java.util.List java.util.List io.vertx.core.Handler
StackMap stack: io.vertx.ext.mongo.MongoClient java.lang.String io.vertx.core.json.JsonObject java.lang.String java.util.List
12: invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
13: aload 4
14: invokeinterface io.vertx.ext.mongo.MongoClient.save:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)Lio/vertx/ext/mongo/MongoClient;
pop
15: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/vertx/ext/auth/mongo/impl/MongoUserUtilImpl;
0 16 1 username Ljava/lang/String;
0 16 2 roles Ljava/util/List<Ljava/lang/String;>;
0 16 3 permissions Ljava/util/List<Ljava/lang/String;>;
0 16 4 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/lang/String;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)Lio/vertx/ext/auth/mongo/MongoUserUtil;
MethodParameters:
Name Flags
username
roles
permissions
resultHandler
}
SourceFile: "MongoUserUtilImpl.java"
InnerClasses:
public Encoder = java.util.Base64$Encoder of java.util.Base64