public static IdentityServerContext Create(HttpContext context = null, IdentityServerOptions options = null)
        {
            var accessor = new HttpContextAccessor();

            accessor.HttpContext = context ?? new DefaultHttpContext();
            return(new IdentityServerContext(accessor, options ?? TestIdentityServerOptions.Create()));
        }
Ejemplo n.º 2
0
        public MockHttpContextAccessor(
            IdentityServerOptions options = null,
            IUserSession userSession      = null,
            IMessageStore <LogoutNotificationContext> endSessionStore = null)
        {
            options = options ?? TestIdentityServerOptions.Create();

            var services = new ServiceCollection();

            services.AddSingleton(options);

            services.AddSingleton <IAuthenticationSchemeProvider>(Schemes);
            services.AddSingleton <IAuthenticationService>(AuthenticationService);

            services.AddAuthentication(auth =>
            {
                auth.DefaultAuthenticateScheme = Schemes.Default;
            });

            if (userSession == null)
            {
                services.AddScoped <IUserSession, DefaultUserSession>();
            }
            else
            {
                services.AddSingleton(userSession);
            }

            if (endSessionStore == null)
            {
                services.AddTransient <IMessageStore <LogoutNotificationContext>, ProtectedDataMessageStore <LogoutNotificationContext> >();
            }
            else
            {
                services.AddSingleton(endSessionStore);
            }

            _context.RequestServices = services.BuildServiceProvider();
        }