public interface io.vertx.ext.auth.oauth2.providers.OpenIDConnectAuth
minor version: 0
major version: 59
flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
this_class: io.vertx.ext.auth.oauth2.providers.OpenIDConnectAuth
super_class: java.lang.Object
{
public static void discover(io.vertx.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2ClientOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.oauth2.OAuth2Auth>>);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;Lio/vertx/core/Handler;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.getSite:()Ljava/lang/String;
ifnonnull 3
1: aload 2
ldc "issuer cannot be null"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
getstatic io.vertx.core.http.HttpMethod.GET:Lio/vertx/core/http/HttpMethod;
new java.lang.StringBuilder
dup
aload 1
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.getSite:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/.well-known/openid-configuration"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
aload 1
aload 0
invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;Lio/vertx/core/Vertx;)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/providers/OpenIDConnectAuth.lambda$0(Lio/vertx/core/Handler;Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;Lio/vertx/core/Vertx;Lio/vertx/core/AsyncResult;)V (6 itf)
(Lio/vertx/core/AsyncResult;)V
invokestatic io.vertx.ext.auth.oauth2.impl.OAuth2API.makeRequest:(Lio/vertx/core/Vertx;Lio/vertx/core/http/HttpClientOptions;Lio/vertx/core/http/HttpMethod;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpClientRequest;
astore 3
start local 3 4: aload 3
aload 2
invokedynamic handle(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/providers/OpenIDConnectAuth.lambda$2(Lio/vertx/core/Handler;Ljava/lang/Throwable;)V (6 itf)
(Ljava/lang/Throwable;)V
invokeinterface io.vertx.core.http.HttpClientRequest.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpClientRequest;
pop
5: aload 3
ldc "Accept"
ldc "application/json"
invokeinterface io.vertx.core.http.HttpClientRequest.putHeader:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/http/HttpClientRequest;
pop
6: aload 3
invokeinterface io.vertx.core.http.HttpClientRequest.end:()V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 vertx Lio/vertx/core/Vertx;
0 8 1 config Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
0 8 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/OAuth2Auth;>;>;
4 8 3 request Lio/vertx/core/http/HttpClientRequest;
Signature: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/OAuth2Auth;>;>;)V
MethodParameters:
Name Flags
vertx final
config final
handler final
private static void lambda$0(io.vertx.core.Handler, io.vertx.ext.auth.oauth2.OAuth2ClientOptions, io.vertx.core.Vertx, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;Lio/vertx/core/Vertx;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=7, args_size=4
start local 3 0: aload 3
invokeinterface io.vertx.core.AsyncResult.failed:()Z
ifeq 3
1: aload 0
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.ext.auth.oauth2.OAuth2Response
astore 4
start local 4 4: aload 4
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Response.statusCode:()I
sipush 200
if_icmpeq 7
5: aload 0
new java.lang.StringBuilder
dup
ldc "Bad Response ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Response.statusCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Response.body:()Lio/vertx/core/buffer/Buffer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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
6: return
7: StackMap locals: io.vertx.ext.auth.oauth2.OAuth2Response
StackMap stack:
aload 4
ldc "application/json"
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Response.is:(Ljava/lang/String;)Z
ifne 10
8: aload 0
new java.lang.StringBuilder
dup
ldc "Cannot handle Content-Type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
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
9: return
10: StackMap locals:
StackMap stack:
aload 4
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Response.jsonObject:()Lio/vertx/core/json/JsonObject;
astore 5
start local 5 11: aload 1
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.isValidateIssuer:()Z
ifeq 16
12: aload 5
ldc "issuer"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 13: aload 6
ifnull 16
aload 1
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.getSite:()Ljava/lang/String;
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
14: aload 0
new java.lang.StringBuilder
dup
ldc "issuer validation failed: received ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
15: return
end local 6 16: StackMap locals: io.vertx.core.json.JsonObject
StackMap stack:
aload 1
aload 5
ldc "authorization_endpoint"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.setAuthorizationPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
pop
17: aload 1
aload 5
ldc "token_endpoint"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.setTokenPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
pop
18: aload 1
aload 5
ldc "token_introspection_endpoint"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.setIntrospectionPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
pop
19: aload 1
aload 5
ldc "end_session_endpoint"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.setLogoutPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
pop
20: aload 1
aload 5
ldc "revocation_endpoint"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.setRevocationPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
pop
21: aload 1
aload 5
ldc "userinfo_endpoint"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.setUserInfoPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
pop
22: aload 1
aload 5
ldc "jwks_uri"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.setJwkPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;
pop
23: aload 2
aload 1
invokestatic io.vertx.ext.auth.oauth2.OAuth2Auth.create:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2ClientOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
astore 6
start local 6 24: aload 1
invokevirtual io.vertx.ext.auth.oauth2.OAuth2ClientOptions.getJwkPath:()Ljava/lang/String;
ifnull 27
25: aload 6
aload 0
aload 6
invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/ext/auth/oauth2/OAuth2Auth;)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/providers/OpenIDConnectAuth.lambda$1(Lio/vertx/core/Handler;Lio/vertx/ext/auth/oauth2/OAuth2Auth;Lio/vertx/core/AsyncResult;)V (6 itf)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.loadJWK:(Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
pop
26: goto 28
27: StackMap locals: io.vertx.ext.auth.oauth2.OAuth2Auth
StackMap stack:
aload 0
aload 6
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 6 end local 5 end local 4 28: StackMap locals:
StackMap stack:
return
end local 3 LocalVariableTable:
Start End Slot Name Signature
0 29 3 res Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/OAuth2Response;>;
4 28 4 response Lio/vertx/ext/auth/oauth2/OAuth2Response;
11 28 5 json Lio/vertx/core/json/JsonObject;
13 16 6 issuerEndpoint Ljava/lang/String;
24 28 6 oidc Lio/vertx/ext/auth/oauth2/OAuth2Auth;
private static void lambda$2(io.vertx.core.Handler, java.lang.Throwable);
descriptor: (Lio/vertx/core/Handler;Ljava/lang/Throwable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 t Ljava/lang/Throwable;
private static void lambda$1(io.vertx.core.Handler, io.vertx.ext.auth.oauth2.OAuth2Auth, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/ext/auth/oauth2/OAuth2Auth;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 2 0: aload 2
invokeinterface io.vertx.core.AsyncResult.failed:()Z
ifeq 3
1: aload 0
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 0
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
4: return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 5 2 v Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
SourceFile: "OpenIDConnectAuth.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
RuntimeVisibleAnnotations:
io.vertx.codegen.annotations.VertxGen()