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())); }
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(); }