public class io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl implements io.vertx.ext.auth.mongo.MongoAuthentication
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl
super_class: java.lang.Object
{
private static final io.vertx.core.impl.logging.Logger log;
descriptor: Lio/vertx/core/impl/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.vertx.ext.auth.HashingStrategy strategy;
descriptor: Lio/vertx/ext/auth/HashingStrategy;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.vertx.ext.mongo.MongoClient mongoClient;
descriptor: Lio/vertx/ext/mongo/MongoClient;
flags: (0x0002) ACC_PRIVATE
private io.vertx.ext.auth.mongo.MongoAuthenticationOptions options;
descriptor: Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
flags: (0x0002) ACC_PRIVATE
private io.vertx.ext.auth.mongo.HashStrategy legacyStrategy;
descriptor: Lio/vertx/ext/auth/mongo/HashStrategy;
flags: (0x0002) ACC_PRIVATE
private java.lang.String hashField;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl;
invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
putstatic io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.log:Lio/vertx/core/impl/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.vertx.ext.mongo.MongoClient, io.vertx.ext.auth.mongo.MongoAuthenticationOptions);
descriptor: (Lio/vertx/ext/mongo/MongoClient;Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 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.MongoAuthenticationImpl.strategy:Lio/vertx/ext/auth/HashingStrategy;
2: aload 0
aload 1
putfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.mongoClient:Lio/vertx/ext/mongo/MongoClient;
3: aload 0
aload 2
putfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.options:Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl;
0 5 1 mongoClient Lio/vertx/ext/mongo/MongoClient;
0 5 2 options Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
MethodParameters:
Name Flags
mongoClient
options
public void <init>(io.vertx.ext.mongo.MongoClient, io.vertx.ext.auth.mongo.HashStrategy, java.lang.String, io.vertx.ext.auth.mongo.MongoAuthenticationOptions);
descriptor: (Lio/vertx/ext/mongo/MongoClient;Lio/vertx/ext/auth/mongo/HashStrategy;Ljava/lang/String;Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 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.MongoAuthenticationImpl.strategy:Lio/vertx/ext/auth/HashingStrategy;
2: aload 0
aload 1
putfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.mongoClient:Lio/vertx/ext/mongo/MongoClient;
3: aload 0
aload 4
putfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.options:Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
4: aload 0
aload 2
putfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.legacyStrategy:Lio/vertx/ext/auth/mongo/HashStrategy;
5: aload 0
aload 3
putfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.hashField:Ljava/lang/String;
6: return
end local 4 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/MongoAuthenticationImpl;
0 7 1 mongoClient Lio/vertx/ext/mongo/MongoClient;
0 7 2 legacyStrategy Lio/vertx/ext/auth/mongo/HashStrategy;
0 7 3 hashField Ljava/lang/String;
0 7 4 options Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
MethodParameters:
Name Flags
mongoClient
legacyStrategy
hashField
options
public void authenticate(io.vertx.core.json.JsonObject, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.User>>);
descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new io.vertx.ext.auth.authentication.UsernamePasswordCredentials
dup
aload 1
invokespecial io.vertx.ext.auth.authentication.UsernamePasswordCredentials.<init>:(Lio/vertx/core/json/JsonObject;)V
aload 2
invokevirtual io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.authenticate:(Lio/vertx/ext/auth/authentication/Credentials;Lio/vertx/core/Handler;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl;
0 2 1 credentials Lio/vertx/core/json/JsonObject;
0 2 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;
Signature: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;)V
MethodParameters:
Name Flags
credentials
resultHandler
public void authenticate(io.vertx.ext.auth.authentication.Credentials, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.User>>);
descriptor: (Lio/vertx/ext/auth/authentication/Credentials;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 3
1: aload 2
ldc "Credentials must be set for authentication."
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
checkcast io.vertx.ext.auth.authentication.UsernamePasswordCredentials
astore 3
start local 3 4: aload 3
aconst_null
invokevirtual io.vertx.ext.auth.authentication.UsernamePasswordCredentials.checkValid:(Ljava/lang/Object;)V
5: new io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl$AuthToken
dup
aload 3
invokevirtual io.vertx.ext.auth.authentication.UsernamePasswordCredentials.getUsername:()Ljava/lang/String;
aload 3
invokevirtual io.vertx.ext.auth.authentication.UsernamePasswordCredentials.getPassword:()Ljava/lang/String;
invokespecial io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl$AuthToken.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 4
start local 4 6: aload 0
aload 3
invokevirtual io.vertx.ext.auth.authentication.UsernamePasswordCredentials.getUsername:()Ljava/lang/String;
invokevirtual io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.createQuery:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
astore 5
start local 5 7: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.mongoClient:Lio/vertx/ext/mongo/MongoClient;
aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.options:Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
invokevirtual io.vertx.ext.auth.mongo.MongoAuthenticationOptions.getCollectionName:()Ljava/lang/String;
aload 5
aload 0
aload 4
aload 2
invokedynamic handle(Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl;Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl$AuthToken;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/mongo/impl/MongoAuthenticationImpl.lambda$0(Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl$AuthToken;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.ext.mongo.MongoClient.find:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)Lio/vertx/ext/mongo/MongoClient;
pop
end local 5 end local 4 end local 3 8: goto 11
StackMap locals:
StackMap stack: java.lang.RuntimeException
9: astore 3
start local 3 10: aload 2
aload 3
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 3 11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl;
0 12 1 credentials Lio/vertx/ext/auth/authentication/Credentials;
0 12 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;
4 8 3 authInfo Lio/vertx/ext/auth/authentication/UsernamePasswordCredentials;
6 8 4 token Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl$AuthToken;
7 8 5 query Lio/vertx/core/json/JsonObject;
10 11 3 e Ljava/lang/RuntimeException;
Exception table:
from to target type
0 2 9 Class java.lang.ClassCastException
3 8 9 Class java.lang.ClassCastException
0 2 9 Class io.vertx.ext.auth.authentication.CredentialValidationException
3 8 9 Class io.vertx.ext.auth.authentication.CredentialValidationException
Signature: (Lio/vertx/ext/auth/authentication/Credentials;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;)V
MethodParameters:
Name Flags
credentials
resultHandler
protected io.vertx.core.json.JsonObject createQuery(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, 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
aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.options:Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
invokevirtual io.vertx.ext.auth.mongo.MongoAuthenticationOptions.getUsernameField:()Ljava/lang/String;
aload 1
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl;
0 1 1 username Ljava/lang/String;
MethodParameters:
Name Flags
username
private io.vertx.ext.auth.User handleSelection(io.vertx.core.AsyncResult<java.util.List<io.vertx.core.json.JsonObject>>, io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl$AuthToken);
descriptor: (Lio/vertx/core/AsyncResult;Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl$AuthToken;)Lio/vertx/ext/auth/User;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.size:()I
tableswitch { // 0 - 1
0: 1
1: 3
default: 9
}
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "No account found for user ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl$AuthToken.username:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 2: new java.lang.Exception
dup
aload 3
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 3 3: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast java.util.List
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.core.json.JsonObject
astore 3
start local 3 4: aload 0
aload 3
invokevirtual io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.createUser:(Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/User;
astore 4
start local 4 5: aload 0
aload 4
aload 3
aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.options:Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
invokevirtual io.vertx.ext.auth.mongo.MongoAuthenticationOptions.getPasswordCredentialField:()Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 2
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl$AuthToken.password:Ljava/lang/String;
invokevirtual io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.examinePassword:(Lio/vertx/ext/auth/User;Ljava/lang/String;Ljava/lang/String;)Z
ifeq 7
6: aload 4
areturn
7: StackMap locals: io.vertx.core.json.JsonObject io.vertx.ext.auth.User
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Invalid username/password ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl$AuthToken.username:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 8: new java.lang.Exception
dup
aload 5
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 end local 3 9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "More than one user row found for user ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl$AuthToken.username:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "( "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: aload 1
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " )]. Usernames must be unique."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 12: new java.lang.Exception
dup
aload 3
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl;
0 13 1 resultList Lio/vertx/core/AsyncResult<Ljava/util/List<Lio/vertx/core/json/JsonObject;>;>;
0 13 2 authToken Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl$AuthToken;
2 3 3 message Ljava/lang/String;
4 9 3 json Lio/vertx/core/json/JsonObject;
5 9 4 user Lio/vertx/ext/auth/User;
8 9 5 message Ljava/lang/String;
12 13 3 message Ljava/lang/String;
Exceptions:
throws java.lang.Exception
Signature: (Lio/vertx/core/AsyncResult<Ljava/util/List<Lio/vertx/core/json/JsonObject;>;>;Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl$AuthToken;)Lio/vertx/ext/auth/User;
MethodParameters:
Name Flags
resultList
authToken
private io.vertx.ext.auth.User createUser(io.vertx.core.json.JsonObject);
descriptor: (Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/User;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new io.vertx.ext.auth.impl.UserImpl
dup
aload 1
invokespecial io.vertx.ext.auth.impl.UserImpl.<init>:(Lio/vertx/core/json/JsonObject;)V
astore 2
start local 2 1: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.legacyStrategy:Lio/vertx/ext/auth/mongo/HashStrategy;
ifnull 4
2: aload 1
ldc "__field-salt__"
aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.hashField:Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
3: aload 1
ldc "__field-password__"
aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.options:Lio/vertx/ext/auth/mongo/MongoAuthenticationOptions;
invokevirtual io.vertx.ext.auth.mongo.MongoAuthenticationOptions.getPasswordField:()Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
4: StackMap locals: io.vertx.ext.auth.User
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl;
0 5 1 json Lio/vertx/core/json/JsonObject;
1 5 2 user Lio/vertx/ext/auth/User;
MethodParameters:
Name Flags
json
private boolean examinePassword(io.vertx.ext.auth.User, java.lang.String, java.lang.String);
descriptor: (Lio/vertx/ext/auth/User;Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 36
if_icmpeq 5
1: aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.legacyStrategy:Lio/vertx/ext/auth/mongo/HashStrategy;
ifnonnull 3
2: new java.lang.IllegalStateException
dup
ldc "Mongo Authentication cannot handle legacy hashes without a HashStrategy"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.legacyStrategy:Lio/vertx/ext/auth/mongo/HashStrategy;
aload 3
aload 1
invokeinterface io.vertx.ext.auth.mongo.HashStrategy.computeHash:(Ljava/lang/String;Lio/vertx/ext/auth/User;)Ljava/lang/String;
astore 4
start local 4 4: aload 2
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 4 5: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.strategy:Lio/vertx/ext/auth/HashingStrategy;
aload 2
aload 3
invokeinterface io.vertx.ext.auth.HashingStrategy.verify:(Ljava/lang/String;Ljava/lang/String;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl;
0 6 1 user Lio/vertx/ext/auth/User;
0 6 2 hash Ljava/lang/String;
0 6 3 password Ljava/lang/String;
4 5 4 givenPassword Ljava/lang/String;
MethodParameters:
Name Flags
user
hash
password
public java.lang.String hash(java.lang.String, java.util.Map<java.lang.String, java.lang.String>, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
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 0
getfield io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.strategy:Lio/vertx/ext/auth/HashingStrategy;
aload 1
aload 2
aload 3
aload 4
invokeinterface io.vertx.ext.auth.HashingStrategy.hash:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl;
0 1 1 id Ljava/lang/String;
0 1 2 params Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 1 3 salt Ljava/lang/String;
0 1 4 password Ljava/lang/String;
Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
MethodParameters:
Name Flags
id
params
salt
password
private void lambda$0(io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl$AuthToken, io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl$AuthToken;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 3 0: aload 3
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 4
1: aload 0
aload 3
aload 1
invokevirtual io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.handleSelection:(Lio/vertx/core/AsyncResult;Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl$AuthToken;)Lio/vertx/ext/auth/User;
astore 4
start local 4 2: aload 2
aload 4
invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 4 3: goto 9
4: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
5: goto 9
StackMap locals:
StackMap stack: java.lang.Exception
6: astore 4
start local 4 7: getstatic io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl.log:Lio/vertx/core/impl/logging/Logger;
aload 4
invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
8: aload 2
aload 4
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 4 9: StackMap locals:
StackMap stack:
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/ext/auth/mongo/impl/MongoAuthenticationImpl;
0 10 3 res Lio/vertx/core/AsyncResult<Ljava/util/List<Lio/vertx/core/json/JsonObject;>;>;
2 3 4 user Lio/vertx/ext/auth/User;
7 9 4 e Ljava/lang/Exception;
Exception table:
from to target type
0 5 6 Class java.lang.Exception
}
SourceFile: "MongoAuthenticationImpl.java"
NestMembers:
io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl$AuthToken
InnerClasses:
AuthToken = io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl$AuthToken of io.vertx.ext.auth.mongo.impl.MongoAuthenticationImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles