# Microsoft.AspNetCore.Authentication.JwtBearer

``` diff
 {
     namespace Microsoft.AspNetCore.Authentication.JwtBearer {
+        public class ForbiddenContext : ResultContext<JwtBearerOptions> {
+            public ForbiddenContext(HttpContext context, AuthenticationScheme scheme, JwtBearerOptions options);
+        }
         public class JwtBearerEvents {
+            public Func<ForbiddenContext, Task> OnForbidden { get; set; }
+            public virtual Task Forbidden(ForbiddenContext context);
         }
         public class JwtBearerHandler : AuthenticationHandler<JwtBearerOptions> {
+            public JwtBearerHandler(IOptionsMonitor<JwtBearerOptions> options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock);
-            public JwtBearerHandler(IOptionsMonitor<JwtBearerOptions> options, ILoggerFactory logger, UrlEncoder encoder, IDataProtectionProvider dataProtection, ISystemClock clock);

+            protected override Task HandleForbiddenAsync(AuthenticationProperties properties);
         }
     }
-    namespace Microsoft.AspNetCore.Builder {
 {
-        public static class JwtBearerAppBuilderExtensions {
 {
-            public static IApplicationBuilder UseJwtBearerAuthentication(this IApplicationBuilder app);

-            public static IApplicationBuilder UseJwtBearerAuthentication(this IApplicationBuilder app, JwtBearerOptions options);

-        }
-    }
 }
```

