public class io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl implements io.vertx.ext.auth.oauth2.OAuth2Auth
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl
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.core.Vertx vertx;
descriptor: Lio/vertx/core/Vertx;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.auth.oauth2.OAuth2Options config;
descriptor: Lio/vertx/ext/auth/oauth2/OAuth2Options;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.auth.oauth2.impl.OAuth2API api;
descriptor: Lio/vertx/ext/auth/oauth2/impl/OAuth2API;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile io.vertx.ext.auth.impl.jose.JWT jwt;
descriptor: Lio/vertx/ext/auth/impl/jose/JWT;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private long updateTimerId;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.Handler<java.lang.String> missingKeyHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Ljava/lang/String;>;
private static volatile int[] $SWITCH_TABLE$io$vertx$ext$auth$oauth2$OAuth2FlowType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
putstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.LOG:Lio/vertx/core/impl/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.vertx.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2Options);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;)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
invokespecial java.lang.Object.<init>:()V
1: aload 0
new io.vertx.ext.auth.impl.jose.JWT
dup
invokespecial io.vertx.ext.auth.impl.jose.JWT.<init>:()V
putfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
2: aload 0
ldc -1
putfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.updateTimerId:J
3: aload 0
aload 1
putfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.vertx:Lio/vertx/core/Vertx;
4: aload 0
aload 2
putfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
5: aload 0
new io.vertx.ext.auth.oauth2.impl.OAuth2API
dup
aload 1
aload 2
invokespecial io.vertx.ext.auth.oauth2.impl.OAuth2API.<init>:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;)V
putfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.api:Lio/vertx/ext/auth/oauth2/impl/OAuth2API;
6: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
iconst_1
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Z)V
7: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.validate:()V
8: aload 2
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getPubSecKeys:()Ljava/util/List;
ifnull 13
9: aload 2
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getPubSecKeys:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.Vertx io.vertx.ext.auth.oauth2.OAuth2Options top java.util.Iterator
StackMap stack:
10: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.ext.auth.PubSecKeyOptions
astore 3
start local 3 11: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
new io.vertx.ext.auth.impl.jose.JWK
dup
aload 3
invokespecial io.vertx.ext.auth.impl.jose.JWK.<init>:(Lio/vertx/ext/auth/PubSecKeyOptions;)V
invokevirtual io.vertx.ext.auth.impl.jose.JWT.addJWK:(Lio/vertx/ext/auth/impl/jose/JWK;)Lio/vertx/ext/auth/impl/jose/JWT;
pop
end local 3 12: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.Vertx io.vertx.ext.auth.oauth2.OAuth2Options
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 14 1 vertx Lio/vertx/core/Vertx;
0 14 2 config Lio/vertx/ext/auth/oauth2/OAuth2Options;
11 12 3 pubSecKey Lio/vertx/ext/auth/PubSecKeyOptions;
MethodParameters:
Name Flags
vertx
config
public io.vertx.ext.auth.oauth2.OAuth2Auth jWKSet(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.api:Lio/vertx/ext/auth/oauth2/impl/OAuth2API;
aload 0
aload 1
invokedynamic handle(Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;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/impl/OAuth2AuthProviderImpl.lambda$0(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2API.jwkSet:(Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 2 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
MethodParameters:
Name Flags
handler
public io.vertx.ext.auth.oauth2.OAuth2Auth missingKeyHandler(io.vertx.core.Handler<java.lang.String>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.missingKeyHandler:Lio/vertx/core/Handler;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 2 1 handler Lio/vertx/core/Handler<Ljava/lang/String;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/String;>;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
MethodParameters:
Name Flags
handler
public io.vertx.ext.auth.oauth2.OAuth2Options getConfig();
descriptor: ()Lio/vertx/ext/auth/oauth2/OAuth2Options;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
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=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getFlow:()Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
astore 3
start local 3 1: aload 1
ldc "access_token"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 7
2: aload 3
getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.AUTH_JWT:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
if_acmpeq 5
aload 3
getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.IMPLICIT:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
if_acmpeq 5
3: aload 0
new io.vertx.ext.auth.authentication.TokenCredentials
dup
aload 1
ldc "access_token"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial io.vertx.ext.auth.authentication.TokenCredentials.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.authenticate:(Lio/vertx/ext/auth/authentication/Credentials;Lio/vertx/core/Handler;)V
4: goto 6
5: StackMap locals: io.vertx.ext.auth.oauth2.OAuth2FlowType
StackMap stack:
aload 2
ldc "access_token provided but provider is not configured for AUTH_CODE"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
return
7: StackMap locals:
StackMap stack:
aload 1
ldc "username"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 13
aload 1
ldc "password"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 13
8: aload 3
getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.PASSWORD:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
if_acmpne 11
9: aload 0
new io.vertx.ext.auth.authentication.UsernamePasswordCredentials
dup
aload 1
ldc "username"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 1
ldc "password"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial io.vertx.ext.auth.authentication.UsernamePasswordCredentials.<init>:(Ljava/lang/String;Ljava/lang/String;)V
aload 2
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.authenticate:(Lio/vertx/ext/auth/authentication/Credentials;Lio/vertx/core/Handler;)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 2
ldc "username/password provided but provider is not configured for PASSWORD"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
return
13: StackMap locals:
StackMap stack:
aload 0
new io.vertx.ext.auth.oauth2.Oauth2Credentials
dup
aload 1
invokespecial io.vertx.ext.auth.oauth2.Oauth2Credentials.<init>:(Lio/vertx/core/json/JsonObject;)V
aload 2
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.authenticate:(Lio/vertx/ext/auth/authentication/Credentials;Lio/vertx/core/Handler;)V
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 15 1 authInfo Lio/vertx/core/json/JsonObject;
0 15 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;
1 15 3 flow Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
Signature: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;)V
MethodParameters:
Name Flags
authInfo
handler
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=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof io.vertx.ext.auth.authentication.TokenCredentials
ifeq 18
1: aload 1
checkcast io.vertx.ext.auth.authentication.TokenCredentials
astore 3
start local 3 2: aload 3
aconst_null
invokevirtual io.vertx.ext.auth.authentication.TokenCredentials.checkValid:(Ljava/lang/Object;)V
3: aload 0
new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
ldc "access_token"
aload 3
invokevirtual io.vertx.ext.auth.authentication.TokenCredentials.getToken:()Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
iconst_0
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.createUser:(Lio/vertx/core/json/JsonObject;Z)Lio/vertx/ext/auth/User;
astore 4
start local 4 4: aload 4
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
ldc "accessToken"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 9
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
invokevirtual io.vertx.ext.auth.impl.jose.JWT.isUnsecure:()Z
ifne 9
5: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getJWTOptions:()Lio/vertx/ext/auth/JWTOptions;
astore 5
start local 5 6: aload 4
aload 5
invokevirtual io.vertx.ext.auth.JWTOptions.getLeeway:()I
invokeinterface io.vertx.ext.auth.User.expired:(I)Z
ifne 9
7: aload 0
aload 4
aload 2
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.validateUser:(Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)V
8: return
end local 5 9: StackMap locals: io.vertx.ext.auth.authentication.TokenCredentials io.vertx.ext.auth.User
StackMap stack:
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getIntrospectionPath:()Ljava/lang/String;
ifnonnull 15
10: aload 4
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
ldc "missing-kid"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 13
11: aload 2
new io.vertx.ext.auth.NoSuchKeyIdException
dup
aload 4
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
ldc "missing-kid"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial io.vertx.ext.auth.NoSuchKeyIdException.<init>:(Ljava/lang/String;)V
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
12: goto 14
13: StackMap locals:
StackMap stack:
aload 2
ldc "Can't authenticate access_token: Provider doesn't support token introspection"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
14: StackMap locals:
StackMap stack:
return
15: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.api:Lio/vertx/ext/auth/oauth2/impl/OAuth2API;
16: ldc "access_token"
aload 4
invokeinterface io.vertx.ext.auth.User.principal:()Lio/vertx/core/json/JsonObject;
ldc "access_token"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 0
aload 2
aload 4
invokedynamic handle(Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;Lio/vertx/core/Handler;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
io/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl.lambda$3(Lio/vertx/core/Handler;Lio/vertx/ext/auth/User;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2API.tokenIntrospection:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)V
end local 4 end local 3 17: goto 42
18: StackMap locals:
StackMap stack:
new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
astore 3
start local 3 19: invokestatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.$SWITCH_TABLE$io$vertx$ext$auth$oauth2$OAuth2FlowType:()[I
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getFlow:()Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 26
2: 36
3: 20
4: 26
5: 30
default: 36
}
20: StackMap locals: io.vertx.core.json.JsonObject
StackMap stack:
aload 1
checkcast io.vertx.ext.auth.authentication.UsernamePasswordCredentials
astore 4
start local 4 21: aload 4
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getFlow:()Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
invokevirtual io.vertx.ext.auth.authentication.UsernamePasswordCredentials.checkValid:(Ljava/lang/Object;)V
22: aload 3
23: ldc "username"
aload 4
invokevirtual io.vertx.ext.auth.authentication.UsernamePasswordCredentials.getUsername:()Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
24: ldc "password"
aload 4
invokevirtual io.vertx.ext.auth.authentication.UsernamePasswordCredentials.getPassword:()Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
25: goto 38
end local 4 26: StackMap locals:
StackMap stack:
aload 1
checkcast io.vertx.ext.auth.oauth2.Oauth2Credentials
astore 5
start local 5 27: aload 5
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getFlow:()Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
invokevirtual io.vertx.ext.auth.oauth2.Oauth2Credentials.checkValid:(Ljava/lang/Object;)V
28: aload 3
aload 5
invokevirtual io.vertx.ext.auth.oauth2.Oauth2Credentials.toJson:()Lio/vertx/core/json/JsonObject;
invokevirtual io.vertx.core.json.JsonObject.mergeIn:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/json/JsonObject;
pop
29: goto 38
end local 5 30: StackMap locals:
StackMap stack:
aload 1
checkcast io.vertx.ext.auth.oauth2.Oauth2Credentials
astore 6
start local 6 31: aload 6
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getFlow:()Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
invokevirtual io.vertx.ext.auth.oauth2.Oauth2Credentials.checkValid:(Ljava/lang/Object;)V
32: aload 6
invokevirtual io.vertx.ext.auth.oauth2.Oauth2Credentials.toJson:()Lio/vertx/core/json/JsonObject;
astore 7
start local 7 33: aload 3
34: ldc "assertion"
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
aload 7
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getJWTOptions:()Lio/vertx/ext/auth/JWTOptions;
invokevirtual io.vertx.ext.auth.impl.jose.JWT.sign:(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/auth/JWTOptions;)Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
35: goto 38
end local 7 end local 6 36: StackMap locals:
StackMap stack:
aload 2
ldc "Current flow does not allow acquiring a token by the replay party"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
37: return
38: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.api:Lio/vertx/ext/auth/oauth2/impl/OAuth2API;
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getFlow:()Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.getGrantType:()Ljava/lang/String;
aload 3
aload 0
aload 2
invokedynamic handle(Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;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/impl/OAuth2AuthProviderImpl.lambda$4(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2API.token:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
end local 3 39: goto 42
StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.ext.auth.authentication.Credentials io.vertx.core.Handler
StackMap stack: java.lang.RuntimeException
40: astore 3
start local 3 41: 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 42: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 43 1 credentials Lio/vertx/ext/auth/authentication/Credentials;
0 43 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;
2 17 3 tokenCredentials Lio/vertx/ext/auth/authentication/TokenCredentials;
4 17 4 user Lio/vertx/ext/auth/User;
6 9 5 jwtOptions Lio/vertx/ext/auth/JWTOptions;
19 39 3 params Lio/vertx/core/json/JsonObject;
21 26 4 usernamePasswordCredentials Lio/vertx/ext/auth/authentication/UsernamePasswordCredentials;
27 30 5 oauth2Credentials Lio/vertx/ext/auth/oauth2/Oauth2Credentials;
31 36 6 oauth2OnBehalfOfCredentials Lio/vertx/ext/auth/oauth2/Oauth2Credentials;
33 36 7 token Lio/vertx/core/json/JsonObject;
41 42 3 e Ljava/lang/RuntimeException;
Exception table:
from to target type
0 8 40 Class java.lang.ClassCastException
9 14 40 Class java.lang.ClassCastException
15 37 40 Class java.lang.ClassCastException
38 39 40 Class java.lang.ClassCastException
0 8 40 Class io.vertx.ext.auth.authentication.CredentialValidationException
9 14 40 Class io.vertx.ext.auth.authentication.CredentialValidationException
15 37 40 Class io.vertx.ext.auth.authentication.CredentialValidationException
38 39 40 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
handler
public java.lang.String authorizeURL(io.vertx.core.json.JsonObject);
descriptor: (Lio/vertx/core/json/JsonObject;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.api:Lio/vertx/ext/auth/oauth2/impl/OAuth2API;
aload 1
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2API.authorizeURL:(Lio/vertx/core/json/JsonObject;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 1 1 params Lio/vertx/core/json/JsonObject;
MethodParameters:
Name Flags
params
public io.vertx.ext.auth.oauth2.OAuth2Auth refresh(io.vertx.ext.auth.User, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.User>>);
descriptor: (Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.api:Lio/vertx/ext/auth/oauth2/impl/OAuth2API;
1: ldc "refresh_token"
2: new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
3: ldc "refresh_token"
aload 1
invokeinterface io.vertx.ext.auth.User.principal:()Lio/vertx/core/json/JsonObject;
ldc "refresh_token"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
4: aload 0
aload 2
invokedynamic handle(Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;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/impl/OAuth2AuthProviderImpl.lambda$5(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
5: invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2API.token:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
6: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 7 1 user Lio/vertx/ext/auth/User;
0 7 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;
Signature: (Lio/vertx/ext/auth/User;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
MethodParameters:
Name Flags
user
handler
public io.vertx.ext.auth.oauth2.OAuth2Auth revoke(io.vertx.ext.auth.User, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/ext/auth/User;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.api:Lio/vertx/ext/auth/oauth2/impl/OAuth2API;
aload 2
aload 1
invokeinterface io.vertx.ext.auth.User.principal:()Lio/vertx/core/json/JsonObject;
aload 2
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2API.tokenRevocation:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 2 1 user Lio/vertx/ext/auth/User;
0 2 2 tokenType Ljava/lang/String;
0 2 3 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/ext/auth/User;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
MethodParameters:
Name Flags
user
tokenType
handler
public io.vertx.ext.auth.oauth2.OAuth2Auth userInfo(io.vertx.ext.auth.User, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
descriptor: (Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.api:Lio/vertx/ext/auth/oauth2/impl/OAuth2API;
aload 1
invokeinterface io.vertx.ext.auth.User.principal:()Lio/vertx/core/json/JsonObject;
ldc "access_token"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
aload 1
aload 2
invokedynamic handle(Lio/vertx/ext/auth/User;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/impl/OAuth2AuthProviderImpl.lambda$6(Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2API.userInfo:(Ljava/lang/String;Lio/vertx/ext/auth/impl/jose/JWT;Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 2 1 user Lio/vertx/ext/auth/User;
0 2 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
Signature: (Lio/vertx/ext/auth/User;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
MethodParameters:
Name Flags
user
handler
public java.lang.String endSessionURL(io.vertx.ext.auth.User, io.vertx.core.json.JsonObject);
descriptor: (Lio/vertx/ext/auth/User;Lio/vertx/core/json/JsonObject;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.api:Lio/vertx/ext/auth/oauth2/impl/OAuth2API;
aload 1
invokeinterface io.vertx.ext.auth.User.principal:()Lio/vertx/core/json/JsonObject;
ldc "id_token"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2API.endSessionURL:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 1 1 user Lio/vertx/ext/auth/User;
0 1 2 params Lio/vertx/core/json/JsonObject;
MethodParameters:
Name Flags
user
params
private io.vertx.ext.auth.User createUser(io.vertx.core.json.JsonObject, boolean);
descriptor: (Lio/vertx/core/json/JsonObject;Z)Lio/vertx/ext/auth/User;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic io.vertx.ext.auth.User.create:(Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/User;
astore 3
start local 3 1: invokestatic java.lang.System.currentTimeMillis:()J
ldc 1000
ldiv
lstore 4
start local 4 2: aconst_null
astore 6
start local 6 3: aload 1
ldc "expires_in"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 11
4: aload 1
ldc "expires_in"
invokevirtual io.vertx.core.json.JsonObject.getLong:(Ljava/lang/String;)Ljava/lang/Long;
astore 7
start local 7 5: goto 8
end local 7 StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.json.JsonObject int io.vertx.ext.auth.User long java.lang.String
StackMap stack: java.lang.ClassCastException
6: pop
7: aload 1
ldc "expires_in"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
astore 7
start local 7 8: StackMap locals: java.lang.Long
StackMap stack:
aload 3
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
9: ldc "iat"
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
10: ldc "exp"
lload 4
aload 7
invokevirtual java.lang.Long.longValue:()J
ladd
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
end local 7 11: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
invokevirtual io.vertx.ext.auth.impl.jose.JWT.isUnsecure:()Z
ifne 48
12: aload 1
ldc "access_token"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 31
13: aload 3
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
14: ldc "accessToken"
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
aload 1
ldc "access_token"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.impl.jose.JWT.decode:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
15: aload 3
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
ldc "accessToken"
invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
aload 3
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
iconst_1
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "exp"
aastore
dup
iconst_1
ldc "iat"
aastore
dup
iconst_2
ldc "nbf"
aastore
dup
iconst_3
ldc "sub"
aastore
invokestatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.copyProperties:(Lio/vertx/core/json/JsonObject;Lio/vertx/core/json/JsonObject;Z[Ljava/lang/String;)V
16: aload 3
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
17: ldc "rootClaim"
ldc "accessToken"
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
18: goto 31
StackMap locals:
StackMap stack: io.vertx.ext.auth.NoSuchKeyIdException
19: astore 7
start local 7 20: iload 2
ifne 31
21: aload 3
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
22: ldc "missing-kid"
aload 7
invokevirtual io.vertx.ext.auth.NoSuchKeyIdException.id:()Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
23: aload 7
invokevirtual io.vertx.ext.auth.NoSuchKeyIdException.id:()Ljava/lang/String;
astore 6
24: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.missingKeyHandler:Lio/vertx/core/Handler;
ifnull 27
25: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.missingKeyHandler:Lio/vertx/core/Handler;
aload 7
invokevirtual io.vertx.ext.auth.NoSuchKeyIdException.id:()Ljava/lang/String;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
26: goto 31
27: StackMap locals: io.vertx.ext.auth.NoSuchKeyIdException
StackMap stack:
getstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Cannot decode access token:"
aload 7
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 28: goto 31
29: StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.json.JsonObject int io.vertx.ext.auth.User long java.lang.String
StackMap stack: java.lang.RuntimeException
astore 7
start local 7 30: getstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Cannot decode access token:"
aload 7
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 31: StackMap locals:
StackMap stack:
aload 1
ldc "id_token"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 48
32: aload 3
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
33: ldc "idToken"
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
aload 1
ldc "id_token"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.impl.jose.JWT.decode:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
34: aload 3
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
ldc "idToken"
invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
aload 3
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
iconst_0
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "sub"
aastore
dup
iconst_1
ldc "name"
aastore
dup
iconst_2
ldc "email"
aastore
dup
iconst_3
ldc "picture"
aastore
invokestatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.copyProperties:(Lio/vertx/core/json/JsonObject;Lio/vertx/core/json/JsonObject;Z[Ljava/lang/String;)V
35: goto 48
StackMap locals:
StackMap stack: io.vertx.ext.auth.NoSuchKeyIdException
36: astore 7
start local 7 37: iload 2
ifne 48
38: aload 7
invokevirtual io.vertx.ext.auth.NoSuchKeyIdException.id:()Ljava/lang/String;
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 48
39: aload 3
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
40: ldc "missing-kid"
aload 7
invokevirtual io.vertx.ext.auth.NoSuchKeyIdException.id:()Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
41: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.missingKeyHandler:Lio/vertx/core/Handler;
ifnull 44
42: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.missingKeyHandler:Lio/vertx/core/Handler;
aload 7
invokevirtual io.vertx.ext.auth.NoSuchKeyIdException.id:()Ljava/lang/String;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
43: goto 48
44: StackMap locals: io.vertx.ext.auth.NoSuchKeyIdException
StackMap stack:
getstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Cannot decode access token:"
aload 7
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 45: goto 48
46: StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.json.JsonObject int io.vertx.ext.auth.User long java.lang.String
StackMap stack: java.lang.RuntimeException
astore 7
start local 7 47: getstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Cannot decode id token:"
aload 7
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 48: StackMap locals:
StackMap stack:
aload 3
areturn
end local 6 end local 4 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/oauth2/impl/OAuth2AuthProviderImpl;
0 49 1 json Lio/vertx/core/json/JsonObject;
0 49 2 skipMissingKeyNotify Z
1 49 3 user Lio/vertx/ext/auth/User;
2 49 4 now J
3 49 6 missingKid Ljava/lang/String;
5 6 7 expiresIn Ljava/lang/Long;
8 11 7 expiresIn Ljava/lang/Long;
20 28 7 e Lio/vertx/ext/auth/NoSuchKeyIdException;
30 31 7 e Ljava/lang/RuntimeException;
37 45 7 e Lio/vertx/ext/auth/NoSuchKeyIdException;
47 48 7 e Ljava/lang/RuntimeException;
Exception table:
from to target type
4 5 6 Class java.lang.ClassCastException
13 18 19 Class io.vertx.ext.auth.NoSuchKeyIdException
13 18 29 Class io.vertx.core.json.DecodeException
13 18 29 Class java.lang.IllegalStateException
32 35 36 Class io.vertx.ext.auth.NoSuchKeyIdException
32 35 46 Class io.vertx.core.json.DecodeException
32 35 46 Class java.lang.IllegalStateException
MethodParameters:
Name Flags
json
skipMissingKeyNotify
private void validateUser(io.vertx.ext.auth.User, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.User>>);
descriptor: (Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)V
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.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
ldc "accessToken"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifne 3
1: aload 2
aload 1
invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getJWTOptions:()Lio/vertx/ext/auth/JWTOptions;
astore 3
start local 3 4: aload 1
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
ldc "accessToken"
invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
astore 4
start local 4 5: goto 9
end local 4 StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.ext.auth.User io.vertx.core.Handler io.vertx.ext.auth.JWTOptions
StackMap stack: java.lang.RuntimeException
6: pop
7: aload 2
ldc "User accessToken isn't a JsonObject"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
8: return
start local 4 9: StackMap locals: io.vertx.core.json.JsonObject
StackMap stack:
aload 3
invokevirtual io.vertx.ext.auth.JWTOptions.getAudience:()Ljava/util/List;
ifnull 17
10: aload 4
ldc "aud"
invokevirtual io.vertx.core.json.JsonObject.getValue:(Ljava/lang/String;)Ljava/lang/Object;
instanceof java.lang.String
ifeq 13
11: new io.vertx.core.json.JsonArray
dup
invokespecial io.vertx.core.json.JsonArray.<init>:()V
aload 4
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 5
start local 5 12: goto 14
end local 5 13: StackMap locals:
StackMap stack:
aload 4
ldc "aud"
new io.vertx.core.json.JsonArray
dup
invokespecial io.vertx.core.json.JsonArray.<init>:()V
invokevirtual io.vertx.core.json.JsonObject.getJsonArray:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;)Lio/vertx/core/json/JsonArray;
astore 5
start local 5 14: StackMap locals: io.vertx.core.json.JsonArray
StackMap stack:
aload 3
invokevirtual io.vertx.ext.auth.JWTOptions.getAudience:()Ljava/util/List;
aload 5
invokevirtual io.vertx.core.json.JsonArray.getList:()Ljava/util/List;
invokestatic java.util.Collections.disjoint:(Ljava/util/Collection;Ljava/util/Collection;)Z
ifeq 17
15: aload 2
new java.lang.StringBuilder
dup
ldc "Invalid JWT audience. expected: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual io.vertx.ext.auth.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
16: return
end local 5 17: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.ext.auth.JWTOptions.getIssuer:()Ljava/lang/String;
ifnull 21
18: aload 3
invokevirtual io.vertx.ext.auth.JWTOptions.getIssuer:()Ljava/lang/String;
aload 4
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 21
19: 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
20: return
21: StackMap locals:
StackMap stack:
aload 2
aload 1
invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
22: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 23 1 user Lio/vertx/ext/auth/User;
0 23 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;
4 23 3 jwtOptions Lio/vertx/ext/auth/JWTOptions;
5 6 4 payload Lio/vertx/core/json/JsonObject;
9 23 4 payload Lio/vertx/core/json/JsonObject;
12 13 5 target Lio/vertx/core/json/JsonArray;
14 17 5 target Lio/vertx/core/json/JsonArray;
Exception table:
from to target type
4 5 6 Class java.lang.RuntimeException
Signature: (Lio/vertx/ext/auth/User;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;)V
MethodParameters:
Name Flags
user
handler
public io.vertx.ext.auth.oauth2.OAuth2Auth decodeToken(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.oauth2.AccessToken>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
aload 1
invokevirtual io.vertx.ext.auth.impl.jose.JWT.decode:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
astore 3
start local 3 1: aload 2
aload 0
aload 3
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.createAccessToken:(Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/oauth2/AccessToken;
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 2: goto 5
StackMap locals:
StackMap stack: java.lang.RuntimeException
3: astore 3
start local 3 4: 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 5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 6 1 token Ljava/lang/String;
0 6 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/AccessToken;>;>;
1 2 3 json Lio/vertx/core/json/JsonObject;
4 5 3 e Ljava/lang/RuntimeException;
Exception table:
from to target type
0 2 3 Class java.lang.RuntimeException
Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/AccessToken;>;>;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
token
handler
public io.vertx.ext.auth.oauth2.OAuth2Auth introspectToken(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.oauth2.AccessToken>>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
areturn
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/oauth2/impl/OAuth2AuthProviderImpl;
0 1 1 token Ljava/lang/String;
0 1 2 tokenType Ljava/lang/String;
0 1 3 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/AccessToken;>;>;
Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/AccessToken;>;>;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
token
tokenType
handler
public io.vertx.ext.auth.oauth2.OAuth2FlowType getFlowType();
descriptor: ()Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getFlow:()Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public io.vertx.ext.auth.oauth2.OAuth2Auth rbacHandler(io.vertx.ext.auth.oauth2.OAuth2RBAC);
descriptor: (Lio/vertx/ext/auth/oauth2/OAuth2RBAC;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 1 1 rbac Lio/vertx/ext/auth/oauth2/OAuth2RBAC;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
rbac
private io.vertx.ext.auth.oauth2.AccessToken createAccessToken(io.vertx.core.json.JsonObject);
descriptor: (Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/oauth2/AccessToken;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: new io.vertx.ext.auth.oauth2.impl.AccessTokenImpl
dup
aload 1
aload 0
invokespecial io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.<init>:(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/auth/oauth2/OAuth2Auth;)V
astore 2
start local 2 1: invokestatic java.lang.System.currentTimeMillis:()J
ldc 1000
ldiv
lstore 3
start local 3 2: aload 1
ldc "expires_in"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 10
3: aload 1
ldc "expires_in"
invokevirtual io.vertx.core.json.JsonObject.getLong:(Ljava/lang/String;)Ljava/lang/Long;
astore 5
start local 5 4: goto 7
end local 5 StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.json.JsonObject io.vertx.ext.auth.oauth2.AccessToken long
StackMap stack: java.lang.ClassCastException
5: pop
6: aload 1
ldc "expires_in"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
astore 5
start local 5 7: StackMap locals: java.lang.Long
StackMap stack:
aload 2
invokeinterface io.vertx.ext.auth.oauth2.AccessToken.attributes:()Lio/vertx/core/json/JsonObject;
8: ldc "iat"
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
9: ldc "exp"
lload 3
aload 5
invokevirtual java.lang.Long.longValue:()J
ladd
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
end local 5 10: StackMap locals:
StackMap stack:
aload 1
ldc "access_token"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
ifnull 31
11: aload 2
invokeinterface io.vertx.ext.auth.oauth2.AccessToken.attributes:()Lio/vertx/core/json/JsonObject;
12: ldc "accessToken"
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
aload 1
ldc "access_token"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.impl.jose.JWT.decode:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
13: aload 2
invokeinterface io.vertx.ext.auth.oauth2.AccessToken.attributes:()Lio/vertx/core/json/JsonObject;
ldc "exp"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifne 20
14: aload 2
invokeinterface io.vertx.ext.auth.oauth2.AccessToken.attributes:()Lio/vertx/core/json/JsonObject;
15: ldc "accessToken"
invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
ldc "exp"
invokevirtual io.vertx.core.json.JsonObject.getLong:(Ljava/lang/String;)Ljava/lang/Long;
16: astore 5
start local 5 17: aload 5
ifnull 20
18: aload 2
invokeinterface io.vertx.ext.auth.oauth2.AccessToken.attributes:()Lio/vertx/core/json/JsonObject;
19: ldc "exp"
aload 5
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
end local 5 20: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.vertx.ext.auth.oauth2.AccessToken.attributes:()Lio/vertx/core/json/JsonObject;
21: ldc "rootClaim"
ldc "accessToken"
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
22: goto 31
StackMap locals:
StackMap stack: io.vertx.ext.auth.NoSuchKeyIdException
23: astore 5
start local 5 24: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.missingKeyHandler:Lio/vertx/core/Handler;
ifnull 27
25: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.missingKeyHandler:Lio/vertx/core/Handler;
aload 5
invokevirtual io.vertx.ext.auth.NoSuchKeyIdException.id:()Ljava/lang/String;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
26: goto 31
27: StackMap locals: io.vertx.ext.auth.NoSuchKeyIdException
StackMap stack:
getstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Cannot decode access token:"
aload 5
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 5 28: goto 31
29: StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.json.JsonObject io.vertx.ext.auth.oauth2.AccessToken long
StackMap stack: java.lang.RuntimeException
astore 5
start local 5 30: getstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Cannot decode access token:"
aload 5
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 5 31: StackMap locals:
StackMap stack:
aload 1
ldc "id_token"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
ifnull 43
32: aload 2
invokeinterface io.vertx.ext.auth.oauth2.AccessToken.attributes:()Lio/vertx/core/json/JsonObject;
33: ldc "idToken"
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
aload 1
ldc "id_token"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.impl.jose.JWT.decode:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
34: goto 43
StackMap locals:
StackMap stack: io.vertx.ext.auth.NoSuchKeyIdException
35: astore 5
start local 5 36: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.missingKeyHandler:Lio/vertx/core/Handler;
ifnull 39
37: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.missingKeyHandler:Lio/vertx/core/Handler;
aload 5
invokevirtual io.vertx.ext.auth.NoSuchKeyIdException.id:()Ljava/lang/String;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
38: goto 43
39: StackMap locals: io.vertx.ext.auth.NoSuchKeyIdException
StackMap stack:
getstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Cannot decode access token:"
aload 5
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 5 40: goto 43
41: StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.json.JsonObject io.vertx.ext.auth.oauth2.AccessToken long
StackMap stack: java.lang.RuntimeException
astore 5
start local 5 42: getstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Cannot decode id token:"
aload 5
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 5 43: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 44 1 json Lio/vertx/core/json/JsonObject;
1 44 2 user Lio/vertx/ext/auth/oauth2/AccessToken;
2 44 3 now J
4 5 5 expiresIn Ljava/lang/Long;
7 10 5 expiresIn Ljava/lang/Long;
17 20 5 exp Ljava/lang/Long;
24 28 5 e Lio/vertx/ext/auth/NoSuchKeyIdException;
30 31 5 e Ljava/lang/RuntimeException;
36 40 5 e Lio/vertx/ext/auth/NoSuchKeyIdException;
42 43 5 e Ljava/lang/RuntimeException;
Exception table:
from to target type
3 4 5 Class java.lang.ClassCastException
11 22 23 Class io.vertx.ext.auth.NoSuchKeyIdException
11 22 29 Class io.vertx.core.json.DecodeException
11 22 29 Class java.lang.IllegalStateException
32 34 35 Class io.vertx.ext.auth.NoSuchKeyIdException
32 34 41 Class io.vertx.core.json.DecodeException
32 34 41 Class java.lang.IllegalStateException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
json
private static void copyProperties(io.vertx.core.json.JsonObject, io.vertx.core.json.JsonObject, boolean, java.lang.String[]);
descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/json/JsonObject;Z[Ljava/lang/String;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ifnull 8
aload 1
ifnull 8
1: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 7
StackMap locals: io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject int java.lang.String[] top int int java.lang.String[]
StackMap stack:
2: aload 7
iload 5
aaload
astore 4
start local 4 3: aload 0
aload 4
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 6
4: aload 1
aload 4
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 5
iload 2
ifeq 6
5: StackMap locals: io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject int java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
aload 1
aload 4
aload 0
aload 4
invokevirtual io.vertx.core.json.JsonObject.getValue:(Ljava/lang/String;)Ljava/lang/Object;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
pop
end local 4 6: StackMap locals: io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject int java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 6
if_icmplt 2
8: StackMap locals: io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject int java.lang.String[]
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 source Lio/vertx/core/json/JsonObject;
0 9 1 target Lio/vertx/core/json/JsonObject;
0 9 2 overwrite Z
0 9 3 keys [Ljava/lang/String;
3 6 4 key Ljava/lang/String;
MethodParameters:
Name Flags
source
target
overwrite
keys
static int[] $SWITCH_TABLE$io$vertx$ext$auth$oauth2$OAuth2FlowType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.$SWITCH_TABLE$io$vertx$ext$auth$oauth2$OAuth2FlowType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.vertx.ext.auth.oauth2.OAuth2FlowType.values:()[Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.AUTH_CODE:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.AUTH_JWT:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
iconst_5
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.CLIENT:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.IMPLICIT:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.PASSWORD:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
iconst_3
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.$SWITCH_TABLE$io$vertx$ext$auth$oauth2$OAuth2FlowType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
private void lambda$0(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 2 0: aload 2
invokeinterface io.vertx.core.AsyncResult.failed:()Z
ifeq 3
1: aload 1
aload 2
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
2: goto 23
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.updateTimerId:J
ldc -1
lcmp
ifeq 5
4: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.vertx:Lio/vertx/core/Vertx;
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.updateTimerId:J
invokeinterface io.vertx.core.Vertx.cancelTimer:(J)Z
pop
5: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.core.json.JsonObject
astore 3
start local 3 6: new io.vertx.ext.auth.impl.jose.JWT
dup
invokespecial io.vertx.ext.auth.impl.jose.JWT.<init>:()V
astore 4
start local 4 7: aload 3
ldc "keys"
invokevirtual io.vertx.core.json.JsonObject.getJsonArray:(Ljava/lang/String;)Lio/vertx/core/json/JsonArray;
astore 5
start local 5 8: aload 5
invokevirtual io.vertx.core.json.JsonArray.iterator:()Ljava/util/Iterator;
astore 7
goto 14
StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.Handler io.vertx.core.AsyncResult io.vertx.core.json.JsonObject io.vertx.ext.auth.impl.jose.JWT io.vertx.core.json.JsonArray top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 6
start local 6 10: aload 4
new io.vertx.ext.auth.impl.jose.JWK
dup
aload 6
checkcast io.vertx.core.json.JsonObject
invokespecial io.vertx.ext.auth.impl.jose.JWK.<init>:(Lio/vertx/core/json/JsonObject;)V
invokevirtual io.vertx.ext.auth.impl.jose.JWT.addJWK:(Lio/vertx/ext/auth/impl/jose/JWK;)Lio/vertx/ext/auth/impl/jose/JWT;
pop
11: goto 14
StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.Handler io.vertx.core.AsyncResult io.vertx.core.json.JsonObject io.vertx.ext.auth.impl.jose.JWT io.vertx.core.json.JsonArray java.lang.Object java.util.Iterator
StackMap stack: java.lang.RuntimeException
12: astore 8
start local 8 13: getstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.LOG:Lio/vertx/core/impl/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Skipped unsupported JWK: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
end local 8 end local 6 14: StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.Handler io.vertx.core.AsyncResult io.vertx.core.json.JsonObject io.vertx.ext.auth.impl.jose.JWT io.vertx.core.json.JsonArray top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
15: aload 0
aload 4
putfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jwt:Lio/vertx/ext/auth/impl/jose/JWT;
16: aload 3
ldc "maxAge"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 22
17: aload 3
ldc "maxAge"
invokevirtual io.vertx.core.json.JsonObject.getLong:(Ljava/lang/String;)Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
ldc 1000
lmul
lstore 6
start local 6 18: lload 6
lconst_0
lcmp
ifle 21
19: aload 0
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.vertx:Lio/vertx/core/Vertx;
lload 6
aload 0
invokedynamic handle(Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;)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/impl/OAuth2AuthProviderImpl.lambda$1(Ljava/lang/Long;)V (7)
(Ljava/lang/Long;)V
invokeinterface io.vertx.core.Vertx.setPeriodic:(JLio/vertx/core/Handler;)J
putfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.updateTimerId:J
20: goto 22
21: StackMap locals: io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl io.vertx.core.Handler io.vertx.core.AsyncResult io.vertx.core.json.JsonObject io.vertx.ext.auth.impl.jose.JWT io.vertx.core.json.JsonArray long
StackMap stack:
aload 0
ldc -1
putfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.updateTimerId:J
end local 6 22: StackMap locals:
StackMap stack:
aload 1
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 5 end local 4 end local 3 23: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 24 2 res Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;
6 23 3 json Lio/vertx/core/json/JsonObject;
7 23 4 jwt Lio/vertx/ext/auth/impl/jose/JWT;
8 23 5 keys Lio/vertx/core/json/JsonArray;
10 14 6 key Ljava/lang/Object;
13 14 8 e Ljava/lang/RuntimeException;
18 22 6 delay J
Exception table:
from to target type
10 11 12 Class java.lang.RuntimeException
private void lambda$3(io.vertx.core.Handler, io.vertx.ext.auth.User, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/ext/auth/User;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 3 0: aload 3
invokeinterface io.vertx.core.AsyncResult.failed:()Z
ifeq 3
1: aload 1
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
2: return
3: StackMap locals:
StackMap stack:
aload 3
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.core.json.JsonObject
astore 4
start local 4 4: aload 4
ldc "active"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 7
aload 4
ldc "active"
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
ifne 7
5: aload 1
ldc "Inactive Token"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
6: return
7: StackMap locals: io.vertx.core.json.JsonObject
StackMap stack:
aload 4
ldc "client_id"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
ifeq 11
8: aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getClientID:()Ljava/lang/String;
aload 4
ldc "client_id"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
9: aload 1
ldc "Wrong client_id"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
10: return
11: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 2
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
ldc "missing-kid"
invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.createUser:(Lio/vertx/core/json/JsonObject;Z)Lio/vertx/ext/auth/User;
astore 5
start local 5 12: aload 5
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getJWTOptions:()Lio/vertx/ext/auth/JWTOptions;
invokevirtual io.vertx.ext.auth.JWTOptions.getLeeway:()I
invokeinterface io.vertx.ext.auth.User.expired:(I)Z
ifeq 15
13: aload 1
ldc "Used is expired."
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
14: goto 16
15: StackMap locals: io.vertx.ext.auth.User
StackMap stack:
aload 0
aload 5
aload 1
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.validateUser:(Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)V
end local 5 end local 4 16: StackMap locals:
StackMap stack:
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 17 3 res Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;
4 16 4 json Lio/vertx/core/json/JsonObject;
12 16 5 newUser Lio/vertx/ext/auth/User;
private void lambda$4(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 2 0: aload 2
invokeinterface io.vertx.core.AsyncResult.failed:()Z
ifeq 3
1: aload 1
aload 2
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
2: goto 8
3: StackMap locals:
StackMap stack:
aload 0
aload 2
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.core.json.JsonObject
iconst_0
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.createUser:(Lio/vertx/core/json/JsonObject;Z)Lio/vertx/ext/auth/User;
astore 3
start local 3 4: aload 3
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getJWTOptions:()Lio/vertx/ext/auth/JWTOptions;
invokevirtual io.vertx.ext.auth.JWTOptions.getLeeway:()I
invokeinterface io.vertx.ext.auth.User.expired:(I)Z
ifeq 7
5: aload 1
ldc "Used is expired."
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
6: goto 8
7: StackMap locals: io.vertx.ext.auth.User
StackMap stack:
aload 0
aload 3
aload 1
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.validateUser:(Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)V
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 9 2 getToken Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;
4 8 3 newUser Lio/vertx/ext/auth/User;
private void lambda$5(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 2 0: aload 2
invokeinterface io.vertx.core.AsyncResult.failed:()Z
ifeq 3
1: aload 1
aload 2
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
2: goto 8
3: StackMap locals:
StackMap stack:
aload 0
aload 2
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.core.json.JsonObject
iconst_0
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.createUser:(Lio/vertx/core/json/JsonObject;Z)Lio/vertx/ext/auth/User;
astore 3
start local 3 4: aload 3
aload 0
getfield io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2Options;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getJWTOptions:()Lio/vertx/ext/auth/JWTOptions;
invokevirtual io.vertx.ext.auth.JWTOptions.getLeeway:()I
invokeinterface io.vertx.ext.auth.User.expired:(I)Z
ifeq 7
5: aload 1
ldc "Used is expired."
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
6: goto 8
7: StackMap locals: io.vertx.ext.auth.User
StackMap stack:
aload 0
aload 3
aload 1
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.validateUser:(Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)V
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 9 2 getToken Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;
4 8 3 newUser Lio/vertx/ext/auth/User;
private static void lambda$6(io.vertx.ext.auth.User, io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=7, locals=6, args_size=3
start local 2 0: aload 2
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 11
1: aload 2
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.core.json.JsonObject
astore 3
start local 3 2: aload 0
invokeinterface io.vertx.ext.auth.User.principal:()Lio/vertx/core/json/JsonObject;
ldc "sub"
aload 0
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
ldc "sub"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 3: aload 3
ldc "sub"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 4: aload 4
ifnonnull 5
aload 5
ifnull 10
5: StackMap locals: io.vertx.core.json.JsonObject java.lang.String java.lang.String
StackMap stack:
aload 4
ifnull 10
6: aload 5
ifnull 10
7: aload 4
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
8: aload 1
ldc "Used 'sub' does not match UserInfo 'sub'."
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
9: return
10: StackMap locals:
StackMap stack:
aload 3
aload 0
invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
iconst_1
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "sub"
aastore
dup
iconst_1
ldc "name"
aastore
dup
iconst_2
ldc "email"
aastore
dup
iconst_3
ldc "picture"
aastore
invokestatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.copyProperties:(Lio/vertx/core/json/JsonObject;Lio/vertx/core/json/JsonObject;Z[Ljava/lang/String;)V
end local 5 end local 4 end local 3 11: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
12: return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 13 2 userInfo Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;
2 11 3 json Lio/vertx/core/json/JsonObject;
3 11 4 userSub Ljava/lang/String;
4 11 5 userInfoSub Ljava/lang/String;
private void lambda$1(java.lang.Long);
descriptor: (Ljava/lang/Long;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
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
io/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl.lambda$2(Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.jWKSet:(Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
0 2 1 t Ljava/lang/Long;
private static void lambda$2(io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface io.vertx.core.AsyncResult.failed:()Z
ifeq 2
1: getstatic io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Failed to auto-update JWK Set"
aload 0
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 autoUpdateRes Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
SourceFile: "OAuth2AuthProviderImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles