public class io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl implements io.vertx.ext.auth.jwt.JWTAuth
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl
super_class: java.lang.Object
{
private static final io.vertx.core.json.JsonArray EMPTY_ARRAY;
descriptor: Lio/vertx/core/json/JsonArray;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.vertx.ext.jwt.JWT jwt;
descriptor: Lio/vertx/ext/jwt/JWT;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String permissionsClaimKey;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.jwt.JWTOptions jwtOptions;
descriptor: Lio/vertx/ext/jwt/JWTOptions;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new io.vertx.core.json.JsonArray
dup
invokespecial io.vertx.core.json.JsonArray.<init>:()V
putstatic io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.EMPTY_ARRAY:Lio/vertx/core/json/JsonArray;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.vertx.core.Vertx, io.vertx.ext.auth.jwt.JWTAuthOptions);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/jwt/JWTAuthOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
invokevirtual io.vertx.ext.auth.jwt.JWTAuthOptions.getPermissionsClaimKey:()Ljava/lang/String;
putfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.permissionsClaimKey:Ljava/lang/String;
2: aload 0
aload 2
invokevirtual io.vertx.ext.auth.jwt.JWTAuthOptions.getJWTOptions:()Lio/vertx/ext/jwt/JWTOptions;
putfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwtOptions:Lio/vertx/ext/jwt/JWTOptions;
3: aload 2
invokevirtual io.vertx.ext.auth.jwt.JWTAuthOptions.getKeyStore:()Lio/vertx/ext/auth/KeyStoreOptions;
astore 3
start local 3 4: aload 3
ifnull 23
5: aload 3
invokevirtual io.vertx.ext.auth.KeyStoreOptions.getType:()Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 4
start local 4 6: ldc Lio/vertx/ext/auth/jwt/impl/JWTAuthProviderImpl;
dup
astore 5
monitorenter
7: aload 1
invokeinterface io.vertx.core.Vertx.fileSystem:()Lio/vertx/core/file/FileSystem;
aload 3
invokevirtual io.vertx.ext.auth.KeyStoreOptions.getPath:()Ljava/lang/String;
invokeinterface io.vertx.core.file.FileSystem.readFileBlocking:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
astore 6
start local 6 8: aconst_null
astore 7
aconst_null
astore 8
9: new java.io.ByteArrayInputStream
dup
aload 6
invokeinterface io.vertx.core.buffer.Buffer.getBytes:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 9
start local 9 10: aload 4
aload 9
aload 3
invokevirtual io.vertx.ext.auth.KeyStoreOptions.getPassword:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
11: aload 9
ifnull 17
aload 9
invokevirtual java.io.InputStream.close:()V
goto 17
StackMap locals: io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl io.vertx.core.Vertx io.vertx.ext.auth.jwt.JWTAuthOptions io.vertx.ext.auth.KeyStoreOptions java.security.KeyStore java.lang.Class io.vertx.core.buffer.Buffer java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
12: astore 7
aload 9
ifnull 13
aload 9
invokevirtual java.io.InputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
13: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 8
aload 7
ifnonnull 15
aload 8
astore 7
goto 16
StackMap locals:
StackMap stack:
15: aload 7
aload 8
if_acmpeq 16
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 7
athrow
end local 6 17: StackMap locals:
StackMap stack:
aload 5
monitorexit
18: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: aload 5
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
aload 0
new io.vertx.ext.jwt.JWT
dup
aload 4
aload 3
invokevirtual io.vertx.ext.auth.KeyStoreOptions.getPassword:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
invokespecial io.vertx.ext.jwt.JWT.<init>:(Ljava/security/KeyStore;[C)V
putfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwt:Lio/vertx/ext/jwt/JWT;
end local 4 22: goto 48
23: StackMap locals:
StackMap stack:
aload 0
new io.vertx.ext.jwt.JWT
dup
invokespecial io.vertx.ext.jwt.JWT.<init>:()V
putfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwt:Lio/vertx/ext/jwt/JWT;
24: aload 2
invokevirtual io.vertx.ext.auth.jwt.JWTAuthOptions.getPubSecKeys:()Ljava/util/List;
astore 4
start local 4 25: aload 4
ifnull 33
26: aload 2
invokevirtual io.vertx.ext.auth.jwt.JWTAuthOptions.getPubSecKeys:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 32
StackMap locals: io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl io.vertx.core.Vertx io.vertx.ext.auth.jwt.JWTAuthOptions io.vertx.ext.auth.KeyStoreOptions java.util.List top java.util.Iterator
StackMap stack:
27: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.ext.auth.PubSecKeyOptions
astore 5
start local 5 28: aload 5
invokevirtual io.vertx.ext.auth.PubSecKeyOptions.isSymmetric:()Z
ifeq 31
29: aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwt:Lio/vertx/ext/jwt/JWT;
new io.vertx.ext.jwt.JWK
dup
aload 5
invokevirtual io.vertx.ext.auth.PubSecKeyOptions.getAlgorithm:()Ljava/lang/String;
aload 5
invokevirtual io.vertx.ext.auth.PubSecKeyOptions.getPublicKey:()Ljava/lang/String;
invokespecial io.vertx.ext.jwt.JWK.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual io.vertx.ext.jwt.JWT.addJWK:(Lio/vertx/ext/jwt/JWK;)Lio/vertx/ext/jwt/JWT;
pop
30: goto 32
31: StackMap locals: io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl io.vertx.core.Vertx io.vertx.ext.auth.jwt.JWTAuthOptions io.vertx.ext.auth.KeyStoreOptions java.util.List io.vertx.ext.auth.PubSecKeyOptions java.util.Iterator
StackMap stack:
aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwt:Lio/vertx/ext/jwt/JWT;
new io.vertx.ext.jwt.JWK
dup
aload 5
invokevirtual io.vertx.ext.auth.PubSecKeyOptions.getAlgorithm:()Ljava/lang/String;
aload 5
invokevirtual io.vertx.ext.auth.PubSecKeyOptions.isCertificate:()Z
aload 5
invokevirtual io.vertx.ext.auth.PubSecKeyOptions.getPublicKey:()Ljava/lang/String;
aload 5
invokevirtual io.vertx.ext.auth.PubSecKeyOptions.getSecretKey:()Ljava/lang/String;
invokespecial io.vertx.ext.jwt.JWK.<init>:(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)V
invokevirtual io.vertx.ext.jwt.JWT.addJWK:(Lio/vertx/ext/jwt/JWK;)Lio/vertx/ext/jwt/JWT;
pop
end local 5 32: StackMap locals: io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl io.vertx.core.Vertx io.vertx.ext.auth.jwt.JWTAuthOptions io.vertx.ext.auth.KeyStoreOptions java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
33: StackMap locals: io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl io.vertx.core.Vertx io.vertx.ext.auth.jwt.JWTAuthOptions io.vertx.ext.auth.KeyStoreOptions java.util.List
StackMap stack:
aload 2
invokevirtual io.vertx.ext.auth.jwt.JWTAuthOptions.getSecrets:()Ljava/util/List;
astore 5
start local 5 34: aload 5
ifnull 39
35: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 38
StackMap locals: io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl io.vertx.core.Vertx io.vertx.ext.auth.jwt.JWTAuthOptions io.vertx.ext.auth.KeyStoreOptions java.util.List java.util.List top java.util.Iterator
StackMap stack:
36: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.ext.auth.SecretOptions
astore 6
start local 6 37: aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwt:Lio/vertx/ext/jwt/JWT;
aload 6
invokevirtual io.vertx.ext.auth.SecretOptions.getType:()Ljava/lang/String;
aload 6
invokevirtual io.vertx.ext.auth.SecretOptions.getSecret:()Ljava/lang/String;
invokevirtual io.vertx.ext.jwt.JWT.addSecret:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/ext/jwt/JWT;
pop
end local 6 38: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 36
39: StackMap locals: io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl io.vertx.core.Vertx io.vertx.ext.auth.jwt.JWTAuthOptions io.vertx.ext.auth.KeyStoreOptions java.util.List java.util.List
StackMap stack:
aload 2
invokevirtual io.vertx.ext.auth.jwt.JWTAuthOptions.getJwks:()Ljava/util/List;
astore 6
start local 6 40: aload 6
ifnull 48
41: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 44
StackMap locals: io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl io.vertx.core.Vertx io.vertx.ext.auth.jwt.JWTAuthOptions io.vertx.ext.auth.KeyStoreOptions java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
42: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.core.json.JsonObject
astore 7
start local 7 43: aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwt:Lio/vertx/ext/jwt/JWT;
new io.vertx.ext.jwt.JWK
dup
aload 7
invokespecial io.vertx.ext.jwt.JWK.<init>:(Lio/vertx/core/json/JsonObject;)V
invokevirtual io.vertx.ext.jwt.JWT.addJWK:(Lio/vertx/ext/jwt/JWK;)Lio/vertx/ext/jwt/JWT;
pop
end local 7 44: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 42
end local 6 end local 5 end local 4 45: goto 48
StackMap locals: io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl io.vertx.core.Vertx io.vertx.ext.auth.jwt.JWTAuthOptions io.vertx.ext.auth.KeyStoreOptions
StackMap stack: java.lang.Exception
46: astore 4
start local 4 47: new java.lang.RuntimeException
dup
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 48: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lio/vertx/ext/auth/jwt/impl/JWTAuthProviderImpl;
0 49 1 vertx Lio/vertx/core/Vertx;
0 49 2 config Lio/vertx/ext/auth/jwt/JWTAuthOptions;
4 49 3 keyStore Lio/vertx/ext/auth/KeyStoreOptions;
6 22 4 ks Ljava/security/KeyStore;
8 17 6 keystore Lio/vertx/core/buffer/Buffer;
10 13 9 in Ljava/io/InputStream;
25 45 4 keys Ljava/util/List<Lio/vertx/ext/auth/PubSecKeyOptions;>;
28 32 5 pubSecKey Lio/vertx/ext/auth/PubSecKeyOptions;
34 45 5 secrets Ljava/util/List<Lio/vertx/ext/auth/SecretOptions;>;
37 38 6 secret Lio/vertx/ext/auth/SecretOptions;
40 45 6 jwks Ljava/util/List<Lio/vertx/core/json/JsonObject;>;
43 44 7 jwk Lio/vertx/core/json/JsonObject;
47 48 4 e Ljava/lang/Exception;
Exception table:
from to target type
10 11 12 any
9 14 14 any
7 18 19 any
19 20 19 any
4 45 46 Class java.security.KeyStoreException
4 45 46 Class java.io.IOException
4 45 46 Class io.vertx.core.file.FileSystemException
4 45 46 Class java.security.cert.CertificateException
4 45 46 Class java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
vertx
config
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=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwt:Lio/vertx/ext/jwt/JWT;
aload 1
ldc "jwt"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.jwt.JWT.decode:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
astore 3
start local 3 1: aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwt:Lio/vertx/ext/jwt/JWT;
aload 3
aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwtOptions:Lio/vertx/ext/jwt/JWTOptions;
invokevirtual io.vertx.ext.jwt.JWT.isExpired:(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/jwt/JWTOptions;)Z
ifeq 4
2: aload 2
ldc "Expired JWT token."
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
3: return
4: StackMap locals: io.vertx.core.json.JsonObject
StackMap stack:
aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwtOptions:Lio/vertx/ext/jwt/JWTOptions;
invokevirtual io.vertx.ext.jwt.JWTOptions.getAudience:()Ljava/util/List;
ifnull 12
5: aload 3
ldc "aud"
invokevirtual io.vertx.core.json.JsonObject.getValue:(Ljava/lang/String;)Ljava/lang/Object;
instanceof java.lang.String
ifeq 8
6: new io.vertx.core.json.JsonArray
dup
invokespecial io.vertx.core.json.JsonArray.<init>:()V
aload 3
ldc "aud"
ldc ""
invokevirtual io.vertx.core.json.JsonObject.getValue:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
astore 4
start local 4 7: goto 9
end local 4 8: StackMap locals:
StackMap stack:
aload 3
ldc "aud"
getstatic io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.EMPTY_ARRAY:Lio/vertx/core/json/JsonArray;
invokevirtual io.vertx.core.json.JsonObject.getJsonArray:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;)Lio/vertx/core/json/JsonArray;
astore 4
start local 4 9: StackMap locals: io.vertx.core.json.JsonArray
StackMap stack:
aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwtOptions:Lio/vertx/ext/jwt/JWTOptions;
invokevirtual io.vertx.ext.jwt.JWTOptions.getAudience:()Ljava/util/List;
aload 4
invokevirtual io.vertx.core.json.JsonArray.getList:()Ljava/util/List;
invokestatic java.util.Collections.disjoint:(Ljava/util/Collection;Ljava/util/Collection;)Z
ifeq 12
10: aload 2
new java.lang.StringBuilder
dup
ldc "Invalid JWT audient. expected: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwtOptions:Lio/vertx/ext/jwt/JWTOptions;
invokevirtual io.vertx.ext.jwt.JWTOptions.getAudience:()Ljava/util/List;
invokestatic io.vertx.core.json.Json.encode:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
11: return
end local 4 12: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwtOptions:Lio/vertx/ext/jwt/JWTOptions;
invokevirtual io.vertx.ext.jwt.JWTOptions.getIssuer:()Ljava/lang/String;
ifnull 16
13: aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwtOptions:Lio/vertx/ext/jwt/JWTOptions;
invokevirtual io.vertx.ext.jwt.JWTOptions.getIssuer:()Ljava/lang/String;
aload 3
ldc "iss"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
14: aload 2
ldc "Invalid JWT issuer"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
15: return
16: StackMap locals:
StackMap stack:
aload 2
new io.vertx.ext.auth.jwt.impl.JWTUser
dup
aload 3
aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.permissionsClaimKey:Ljava/lang/String;
invokespecial io.vertx.ext.auth.jwt.impl.JWTUser.<init>:(Lio/vertx/core/json/JsonObject;Ljava/lang/String;)V
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 3 17: goto 20
StackMap locals: io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl io.vertx.core.json.JsonObject io.vertx.core.Handler
StackMap stack: java.lang.RuntimeException
18: astore 3
start local 3 19: 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 20: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/vertx/ext/auth/jwt/impl/JWTAuthProviderImpl;
0 21 1 authInfo Lio/vertx/core/json/JsonObject;
0 21 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;
1 17 3 payload Lio/vertx/core/json/JsonObject;
7 8 4 target Lio/vertx/core/json/JsonArray;
9 12 4 target Lio/vertx/core/json/JsonArray;
19 20 3 e Ljava/lang/RuntimeException;
Exception table:
from to target type
0 3 18 Class java.lang.RuntimeException
4 11 18 Class java.lang.RuntimeException
12 15 18 Class java.lang.RuntimeException
16 17 18 Class java.lang.RuntimeException
Signature: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;)V
MethodParameters:
Name Flags
authInfo
resultHandler
public java.lang.String generateToken(io.vertx.core.json.JsonObject, io.vertx.ext.jwt.JWTOptions);
descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/ext/jwt/JWTOptions;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.vertx.core.json.JsonObject.copy:()Lio/vertx/core/json/JsonObject;
astore 3
start local 3 1: aload 2
invokevirtual io.vertx.ext.jwt.JWTOptions.getPermissions:()Ljava/util/List;
ifnull 3
aload 3
aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.permissionsClaimKey:Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifne 3
2: aload 3
aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.permissionsClaimKey:Ljava/lang/String;
new io.vertx.core.json.JsonArray
dup
aload 2
invokevirtual io.vertx.ext.jwt.JWTOptions.getPermissions:()Ljava/util/List;
invokespecial io.vertx.core.json.JsonArray.<init>:(Ljava/util/List;)V
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;)Lio/vertx/core/json/JsonObject;
pop
3: StackMap locals: io.vertx.core.json.JsonObject
StackMap stack:
aload 0
getfield io.vertx.ext.auth.jwt.impl.JWTAuthProviderImpl.jwt:Lio/vertx/ext/jwt/JWT;
aload 3
aload 2
invokevirtual io.vertx.ext.jwt.JWT.sign:(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/jwt/JWTOptions;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/auth/jwt/impl/JWTAuthProviderImpl;
0 4 1 claims Lio/vertx/core/json/JsonObject;
0 4 2 options Lio/vertx/ext/jwt/JWTOptions;
1 4 3 _claims Lio/vertx/core/json/JsonObject;
MethodParameters:
Name Flags
claims
options final
}
SourceFile: "JWTAuthProviderImpl.java"