public interface io.vertx.ext.auth.oauth2.OAuth2Auth extends io.vertx.ext.auth.authentication.AuthenticationProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.vertx.ext.auth.oauth2.OAuth2Auth
  super_class: java.lang.Object
{
  public static io.vertx.ext.auth.oauth2.OAuth2Auth create(io.vertx.core.Vertx);
    descriptor: (Lio/vertx/core/Vertx;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.Vertx vertx
         0: .line 42
            aload 0 /* vertx */
            new io.vertx.ext.auth.oauth2.OAuth2Options
            dup
            invokespecial io.vertx.ext.auth.oauth2.OAuth2Options.<init>:()V
            invokestatic io.vertx.ext.auth.oauth2.OAuth2Auth.create:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            areturn
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  vertx  Lio/vertx/core/Vertx;
    MethodParameters:
       Name  Flags
      vertx  

  public static io.vertx.ext.auth.oauth2.OAuth2Auth create(io.vertx.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2Options);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // io.vertx.ext.auth.oauth2.OAuth2Options config
         0: .line 53
            new io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl
            dup
            aload 0 /* vertx */
            aload 1 /* config */
            invokespecial io.vertx.ext.auth.oauth2.impl.OAuth2AuthProviderImpl.<init>:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;)V
            areturn
        end local 1 // io.vertx.ext.auth.oauth2.OAuth2Options config
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0   vertx  Lio/vertx/core/Vertx;
            0    1     1  config  Lio/vertx/ext/auth/oauth2/OAuth2Options;
    MethodParameters:
        Name  Flags
      vertx   
      config  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.core.Future<java.lang.Void> jWKSet();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
         0: .line 79
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 1 /* promise */
        start local 1 // io.vertx.core.Promise promise
         1: .line 80
            aload 0 /* this */
            aload 1 /* promise */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.jWKSet:(Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         2: .line 81
            aload 1 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 1 // io.vertx.core.Promise promise
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            1    3     1  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: ()Lio/vertx/core/Future<Ljava/lang/Void;>;

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Ljava/lang/String;>;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
         Name  Flags
      handler  

  public abstract java.lang.String authorizeURL(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      params  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    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;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
         Name  Flags
      user     
      handler  

  public io.vertx.core.Future<io.vertx.ext.auth.User> refresh(io.vertx.ext.auth.User);
    descriptor: (Lio/vertx/ext/auth/User;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
        start local 1 // io.vertx.ext.auth.User user
         0: .line 127
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 128
            aload 0 /* this */
            aload 1 /* user */
            aload 2 /* promise */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.refresh:(Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         2: .line 129
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // io.vertx.ext.auth.User user
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            0    3     1     user  Lio/vertx/ext/auth/User;
            1    3     2  promise  Lio/vertx/core/Promise<Lio/vertx/ext/auth/User;>;
    Signature: (Lio/vertx/ext/auth/User;)Lio/vertx/core/Future<Lio/vertx/ext/auth/User;>;
    MethodParameters:
      Name  Flags
      user  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    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;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
           Name  Flags
      user       
      tokenType  
      handler    

  public io.vertx.ext.auth.oauth2.OAuth2Auth revoke(io.vertx.ext.auth.User, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
        start local 1 // io.vertx.ext.auth.User user
        start local 2 // io.vertx.core.Handler handler
         0: .line 152
            aload 0 /* this */
            aload 1 /* user */
            ldc "access_token"
            aload 2 /* handler */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.revoke:(Lio/vertx/ext/auth/User;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            areturn
        end local 2 // io.vertx.core.Handler handler
        end local 1 // io.vertx.ext.auth.User user
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            0    1     1     user  Lio/vertx/ext/auth/User;
            0    1     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/ext/auth/User;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
         Name  Flags
      user     
      handler  

  public io.vertx.core.Future<java.lang.Void> revoke(io.vertx.ext.auth.User, java.lang.String);
    descriptor: (Lio/vertx/ext/auth/User;Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
        start local 1 // io.vertx.ext.auth.User user
        start local 2 // java.lang.String tokenType
         0: .line 164
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         1: .line 165
            aload 0 /* this */
            aload 1 /* user */
            aload 2 /* tokenType */
            aload 3 /* promise */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.revoke:(Lio/vertx/ext/auth/User;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         2: .line 166
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
        end local 2 // java.lang.String tokenType
        end local 1 // io.vertx.ext.auth.User user
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            0    3     1       user  Lio/vertx/ext/auth/User;
            0    3     2  tokenType  Ljava/lang/String;
            1    3     3    promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/ext/auth/User;Ljava/lang/String;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
           Name  Flags
      user       
      tokenType  

  public io.vertx.core.Future<java.lang.Void> revoke(io.vertx.ext.auth.User);
    descriptor: (Lio/vertx/ext/auth/User;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
        start local 1 // io.vertx.ext.auth.User user
         0: .line 177
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 178
            aload 0 /* this */
            aload 1 /* user */
            aload 2 /* promise */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.revoke:(Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         2: .line 179
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // io.vertx.ext.auth.User user
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            0    3     1     user  Lio/vertx/ext/auth/User;
            1    3     2  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/ext/auth/User;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      user  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    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;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
         Name  Flags
      user     
      handler  

  public io.vertx.core.Future<io.vertx.core.json.JsonObject> userInfo(io.vertx.ext.auth.User);
    descriptor: (Lio/vertx/ext/auth/User;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
        start local 1 // io.vertx.ext.auth.User user
         0: .line 200
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 201
            aload 0 /* this */
            aload 1 /* user */
            aload 2 /* promise */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.userInfo:(Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         2: .line 202
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // io.vertx.ext.auth.User user
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            0    3     1     user  Lio/vertx/ext/auth/User;
            1    3     2  promise  Lio/vertx/core/Promise<Lio/vertx/core/json/JsonObject;>;
    Signature: (Lio/vertx/ext/auth/User;)Lio/vertx/core/Future<Lio/vertx/core/json/JsonObject;>;
    MethodParameters:
      Name  Flags
      user  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      user    
      params  

  public java.lang.String endSessionURL(io.vertx.ext.auth.User);
    descriptor: (Lio/vertx/ext/auth/User;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
        start local 1 // io.vertx.ext.auth.User user
         0: .line 223
            aload 0 /* this */
            aload 1 /* user */
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.endSessionURL:(Lio/vertx/ext/auth/User;Lio/vertx/core/json/JsonObject;)Ljava/lang/String;
            areturn
        end local 1 // io.vertx.ext.auth.User user
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            0    1     1  user  Lio/vertx/ext/auth/User;
    MethodParameters:
      Name  Flags
      user  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    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: 
      io.vertx.codegen.annotations.Fluent()
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      token    
      handler  

  public io.vertx.core.Future<io.vertx.ext.auth.oauth2.AccessToken> decodeToken(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
        start local 1 // java.lang.String token
         0: .line 246
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 247
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* promise */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.decodeToken:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         2: .line 248
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // java.lang.String token
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            0    3     1    token  Ljava/lang/String;
            1    3     2  promise  Lio/vertx/core/Promise<Lio/vertx/ext/auth/oauth2/AccessToken;>;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/auth/oauth2/AccessToken;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      token  

  public io.vertx.ext.auth.oauth2.OAuth2Auth introspectToken(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=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
        start local 1 // java.lang.String token
        start local 2 // io.vertx.core.Handler handler
         0: .line 262
            aload 0 /* this */
            aload 1 /* token */
            ldc "access_token"
            aload 2 /* handler */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.introspectToken:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            areturn
        end local 2 // io.vertx.core.Handler handler
        end local 1 // java.lang.String token
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            0    1     1    token  Ljava/lang/String;
            0    1     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/AccessToken;>;>;
    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: 
      io.vertx.codegen.annotations.Fluent()
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      token    
      handler  

  public io.vertx.core.Future<io.vertx.ext.auth.oauth2.AccessToken> introspectToken(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
        start local 1 // java.lang.String token
         0: .line 275
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 276
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* promise */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.introspectToken:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         2: .line 277
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // java.lang.String token
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            0    3     1    token  Ljava/lang/String;
            1    3     2  promise  Lio/vertx/core/Promise<Lio/vertx/ext/auth/oauth2/AccessToken;>;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/auth/oauth2/AccessToken;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      token  

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    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: 
      io.vertx.codegen.annotations.Fluent()
      java.lang.Deprecated()
    MethodParameters:
           Name  Flags
      token      
      tokenType  
      handler    

  public io.vertx.core.Future<io.vertx.ext.auth.oauth2.AccessToken> introspectToken(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
        start local 1 // java.lang.String token
        start local 2 // java.lang.String tokenType
         0: .line 303
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         1: .line 304
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* tokenType */
            aload 3 /* promise */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.introspectToken:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         2: .line 305
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
        end local 2 // java.lang.String tokenType
        end local 1 // java.lang.String token
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            0    3     1      token  Ljava/lang/String;
            0    3     2  tokenType  Ljava/lang/String;
            1    3     3    promise  Lio/vertx/core/Promise<Lio/vertx/ext/auth/oauth2/AccessToken;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/auth/oauth2/AccessToken;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
           Name  Flags
      token      
      tokenType  

  public abstract io.vertx.ext.auth.oauth2.OAuth2FlowType getFlowType();
    descriptor: ()Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public io.vertx.ext.auth.oauth2.OAuth2Auth loadJWK(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=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
        start local 1 // io.vertx.core.Handler handler
         0: .line 325
            aload 0 /* this */
            aload 1 /* handler */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.jWKSet:(Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            0    1     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;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.core.Future<java.lang.Void> loadJWK();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
         0: .line 337
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 1 /* promise */
        start local 1 // io.vertx.core.Promise promise
         1: .line 338
            aload 0 /* this */
            aload 1 /* promise */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.loadJWK:(Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         2: .line 339
            aload 1 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 1 // io.vertx.core.Promise promise
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Auth this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            1    3     1  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: ()Lio/vertx/core/Future<Ljava/lang/Void;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      rbac  
}
SourceFile: "OAuth2Auth.java"
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.VertxGen()