internal void ConfigureIntrospection(OAuth2IntrospectionOptions introspectionOptions) { if (String.IsNullOrWhiteSpace(ApiSecret)) { return; } if (String.IsNullOrWhiteSpace(ApiName)) { throw new ArgumentException("ApiName must be configured if ApiSecret is set."); } introspectionOptions.Authority = Authority; introspectionOptions.ClientId = ApiName; introspectionOptions.ClientSecret = ApiSecret; introspectionOptions.NameClaimType = NameClaimType; introspectionOptions.RoleClaimType = RoleClaimType; introspectionOptions.TokenRetriever = InternalTokenRetriever; introspectionOptions.SaveToken = SaveToken; introspectionOptions.EnableCaching = EnableCaching; introspectionOptions.CacheDuration = CacheDuration; introspectionOptions.DiscoveryTimeout = BackChannelTimeouts; introspectionOptions.IntrospectionTimeout = BackChannelTimeouts; introspectionOptions.DiscoveryPolicy.RequireHttps = RequireHttpsMetadata; if (IntrospectionBackChannelHandler != null) { introspectionOptions.IntrospectionHttpHandler = IntrospectionBackChannelHandler; } if (IntrospectionDiscoveryHandler != null) { introspectionOptions.DiscoveryHttpHandler = IntrospectionDiscoveryHandler; } }
public static IApplicationBuilder UseOAuth2IntrospectionAuthentication(this IApplicationBuilder app, OAuth2IntrospectionOptions options) { if (app == null) { throw new ArgumentNullException(nameof(app)); } return(app.UseMiddleware <OAuth2IntrospectionMiddleware>(Options.Create(options))); }