public class io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl extends io.vertx.ext.auth.oauth2.impl.flow.AbstractOAuth2Flow implements io.vertx.ext.auth.oauth2.impl.flow.OAuth2Flow
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl
super_class: io.vertx.ext.auth.oauth2.impl.flow.AbstractOAuth2Flow
{
private final io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl provider;
descriptor: Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl);
descriptor: (Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.getVertx:()Lio/vertx/core/Vertx;
aload 1
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.getConfig:()Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
invokespecial io.vertx.ext.auth.oauth2.impl.flow.AbstractOAuth2Flow.<init>:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;)V
1: aload 0
aload 1
putfield io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.provider:Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
2: ldc "clientId"
aload 0
getfield io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.getClientID:()Ljava/lang/String;
invokestatic io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.throwIfNull:(Ljava/lang/String;Ljava/lang/Object;)V
3: ldc "pubSecKeys"
aload 0
getfield io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.getPubSecKeys:()Ljava/util/List;
invokestatic io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.throwIfNull:(Ljava/lang/String;Ljava/lang/Object;)V
4: aload 0
getfield io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.config:Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.getPubSecKeys:()Ljava/util/List;
invokeinterface java.util.List.size:()I
ifne 6
5: ldc "pubSecKey"
aconst_null
invokestatic io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.throwIfNull:(Ljava/lang/String;Ljava/lang/Object;)V
6: StackMap locals: io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/ext/auth/oauth2/impl/flow/AuthJWTImpl;
0 7 1 provider Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
MethodParameters:
Name Flags
provider
public void getToken(io.vertx.core.json.JsonObject, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.oauth2.AccessToken>>);
descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
1: ldc "grant_type"
ldc "urn:ietf:params:oauth:grant-type:jwt-bearer"
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
2: ldc "assertion"
aload 0
getfield io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.provider:Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.getJWT:()Lio/vertx/ext/jwt/JWT;
aload 1
aload 0
getfield io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.provider:Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.getConfig:()Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.getJWTOptions:()Lio/vertx/ext/jwt/JWTOptions;
invokevirtual io.vertx.ext.jwt.JWT.sign:(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/jwt/JWTOptions;)Ljava/lang/String;
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
3: astore 3
start local 3 4: aload 0
getfield io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.provider:Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.getVertx:()Lio/vertx/core/Vertx;
5: aload 0
getfield io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.provider:Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.getConfig:()Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
6: getstatic io.vertx.core.http.HttpMethod.POST:Lio/vertx/core/http/HttpMethod;
7: aload 0
getfield io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.provider:Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
invokevirtual io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.getConfig:()Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.getTokenPath:()Ljava/lang/String;
8: new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
ldc "Content-Type"
ldc "application/x-www-form-urlencoded"
invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
9: aload 3
invokestatic io.vertx.ext.auth.oauth2.impl.OAuth2API.stringify:(Lio/vertx/core/json/JsonObject;)Ljava/lang/String;
invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
10: aload 0
aload 2
invokedynamic handle(Lio/vertx/ext/auth/oauth2/impl/flow/AuthJWTImpl;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/flow/AuthJWTImpl.lambda$0(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
11: invokestatic io.vertx.ext.auth.oauth2.impl.OAuth2API.fetch:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;Lio/vertx/core/http/HttpMethod;Ljava/lang/String;Lio/vertx/core/json/JsonObject;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)V
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/ext/auth/oauth2/impl/flow/AuthJWTImpl;
0 13 1 params Lio/vertx/core/json/JsonObject;
0 13 2 callback Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/AccessToken;>;>;
4 13 3 body Lio/vertx/core/json/JsonObject;
Signature: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/AccessToken;>;>;)V
MethodParameters:
Name Flags
params
callback
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=6, 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: return
3: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.ext.auth.oauth2.OAuth2Response
astore 3
start local 3 4: aload 3
ldc "application/json"
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Response.is:(Ljava/lang/String;)Z
ifeq 10
5: aload 3
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Response.jsonObject:()Lio/vertx/core/json/JsonObject;
astore 4
start local 4 6: goto 18
end local 4 StackMap locals: io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl io.vertx.core.Handler io.vertx.core.AsyncResult io.vertx.ext.auth.oauth2.OAuth2Response
StackMap stack: java.lang.RuntimeException
7: astore 5
start local 5 8: aload 1
aload 5
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
9: return
end local 5 10: StackMap locals:
StackMap stack:
aload 3
ldc "application/x-www-form-urlencoded"
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Response.is:(Ljava/lang/String;)Z
ifne 11
aload 3
ldc "text/plain"
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Response.is:(Ljava/lang/String;)Z
ifeq 16
11: StackMap locals:
StackMap stack:
aload 3
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Response.body:()Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.buffer.Buffer.toString:()Ljava/lang/String;
invokestatic io.vertx.ext.auth.oauth2.impl.OAuth2API.queryToJSON:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
astore 4
start local 4 12: goto 18
end local 4 StackMap locals:
StackMap stack: java.lang.Exception
13: astore 5
start local 5 14: aload 1
aload 5
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
15: return
end local 5 16: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "Cannot handle Content-Type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Response.headers:()Lio/vertx/core/MultiMap;
ldc "Content-Type"
invokeinterface io.vertx.core.MultiMap.get:(Ljava/lang/String;)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
17: return
start local 4 18: StackMap locals: io.vertx.core.json.JsonObject
StackMap stack:
aload 1
new io.vertx.ext.auth.oauth2.impl.OAuth2TokenImpl
dup
aload 0
getfield io.vertx.ext.auth.oauth2.impl.flow.AuthJWTImpl.provider:Lio/vertx/ext/auth/oauth2/impl/OAuth2AuthProviderImpl;
aload 4
invokespecial io.vertx.ext.auth.oauth2.impl.OAuth2TokenImpl.<init>:(Lio/vertx/ext/auth/oauth2/OAuth2Auth;Lio/vertx/core/json/JsonObject;)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 4 end local 3 19: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/vertx/ext/auth/oauth2/impl/flow/AuthJWTImpl;
0 20 2 fetch Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/OAuth2Response;>;
4 19 3 res Lio/vertx/ext/auth/oauth2/OAuth2Response;
6 7 4 token Lio/vertx/core/json/JsonObject;
12 13 4 token Lio/vertx/core/json/JsonObject;
18 19 4 token Lio/vertx/core/json/JsonObject;
8 10 5 e Ljava/lang/RuntimeException;
14 16 5 e Ljava/lang/Exception;
Exception table:
from to target type
5 6 7 Class java.lang.RuntimeException
11 12 13 Class java.lang.RuntimeException
11 12 13 Class java.io.UnsupportedEncodingException
}
SourceFile: "AuthJWTImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles