public static FusionAuthenticationBuilder AddServer(this FusionAuthenticationBuilder fusionAuth, Action <IServiceProvider, SessionMiddleware.Options>?sessionMiddlewareOptionsBuilder = null, Action <IServiceProvider, ServerAuthHelper.Options>?authHelperOptionsBuilder = null, Action <IServiceProvider, SignInController.Options>?signInControllerOptionsBuilder = null) { var fusion = fusionAuth.Fusion; var services = fusionAuth.Services; fusionAuth.AddServerSideAuthService(); services.TryAddSingleton(c => { var options = new SessionMiddleware.Options(); sessionMiddlewareOptionsBuilder?.Invoke(c, options); return(options); }); services.TryAddScoped <SessionMiddleware>(); services.TryAddSingleton(c => { var options = new ServerAuthHelper.Options(); authHelperOptionsBuilder?.Invoke(c, options); return(options); }); services.TryAddSingleton <AuthSchemasCache>(); services.TryAddScoped <ServerAuthHelper>(); services.AddRouting(); fusion.AddWebServer().AddControllers(signInControllerOptionsBuilder); return(fusionAuth); }
public static FusionAuthenticationBuilder AddServer(this FusionAuthenticationBuilder fusionAuth, Action <IServiceProvider, SessionMiddleware.Options>?sessionMiddlewareOptionsBuilder = null, Type?authServiceImplementationType = null) { fusionAuth.AddServerSideAuthService(authServiceImplementationType); var services = fusionAuth.Services; services.TryAddSingleton(c => { var options = new SessionMiddleware.Options(); sessionMiddlewareOptionsBuilder?.Invoke(c, options); return(options); }); services.TryAddScoped <SessionMiddleware>(); services.AddRouting(); services.AddControllers().AddApplicationPart(typeof(AuthController).Assembly); return(fusionAuth); }