예제 #1
0
파일: Startup.cs 프로젝트: gugray/XiePinyin
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton(Log.Logger);

            //services.AddAuthentication(options =>
            //{
            //    options.DefaultScheme= "XieAuthScheme";
            //}).AddScheme<XieAuthenticationSchemeOptions, XieAuthenticationHandler>("XieAuthScheme", op => { });

            services.AddAuthentication("XieAuth").AddScheme <XieAuthenticationSchemeOptions, XieAuthenticationHandler>("XieAuth", null);


            // MVC for serving pages and REST
            services.AddMvc(x => { x.EnableEndpointRouting = true; }).AddRazorRuntimeCompilation();
            // Configuration singleton
            services.AddSingleton <IConfiguration>(sp => { return(config); });
            // Input conversion
            var composer = new Composer(config["sourcesFolder"]);

            services.AddSingleton(composer);

            asm = new AuthSessionManager(config["secretsFile"], Log.Logger);
            var dopt = new DocumentJuggler.Options
            {
                DocsFolder    = config["docsFolder"],
                ExportsFolder = config["exportsFolder"],
            };

            docJuggler = new DocumentJuggler(dopt, Log.Logger, composer);
            var connMgr = new ConnectionManager(docJuggler, Log.Logger);

            broadcaster            = new Broadcaster(connMgr, Log.Logger);
            docJuggler.Broadcaster = broadcaster;

            services.AddSingleton(asm);
            services.AddSingleton(docJuggler);
            services.AddSingleton(connMgr);
            services.AddSingleton(broadcaster);
        }
예제 #2
0
 public AuthController(AuthSessionManager asm)
 {
     this.asm = asm;
 }
예제 #3
0
 public XieAuthenticationHandler(IOptionsMonitor <XieAuthenticationSchemeOptions> options,
                                 ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock, AuthSessionManager asm)
     : base(options, logger, encoder, clock)
 {
     this.asm = asm;
 }