Добавить идентификационную аутентификацию в интерфейсную часть Identity Server - PullRequest
0 голосов
/ 14 сентября 2018

Я создал проект Identity Server 4, который запускает наш Identity Server, и я создал интерфейс для проекта, чтобы мы могли его поддерживать. Проблема, с которой я сталкиваюсь, заключается в том, что, похоже, у меня не может быть промежуточного программного обеспечения Identity Server и использование Identity Authentication в одном проекте. Есть ли способ заставить эти две вещи работать? Я не хочу делить это на два проекта.

var builder = services.AddIdentityServer(options =>
{
    options.Events.RaiseErrorEvents = true;
    options.Events.RaiseInformationEvents = true;
    options.Events.RaiseFailureEvents = true;
    options.Events.RaiseSuccessEvents = true;
})
    // this adds the config data from DB (clients, resources)
    .AddConfigurationStore(options =>
    {
        options.ConfigureDbContext = b =>
            b.UseSqlServer(connectionString,
                sql => sql.MigrationsAssembly(migrationsAssembly));
        })
    // this adds the operational data from DB (codes, tokens, consents)
    .AddOperationalStore(options =>
    {
        options.ConfigureDbContext = b =>
            b.UseSqlServer(connectionString,
                sql => sql.MigrationsAssembly(migrationsAssembly));

        // this enables automatic token cleanup. this is optional.
        options.EnableTokenCleanup = true;
        // frequency in seconds to cleanup stale grants. 15 is useful during debugging
        options.TokenCleanupInterval = int.Parse(Configuration.GetSection("TokenCleanup").Value);
    })
    .AddDeveloperSigningCredential();


services.AddIdentity<ApplicationUser, ApplicationRole>().Services.ConfigureApplicationCookie(options =>
{
    options.LoginPath = "/Saml/SingleSignOn";
    options.SlidingExpiration = true;
    options.LogoutPath = "/Saml/SingleSignOn";
    options.Cookie.Expiration = new TimeSpan(1, 0, 0);
    options.Cookie.IsEssential = true;
});

services.AddTransient<IUserStore<ApplicationUser>, CustomUserStore>();
services.AddTransient<IRoleStore<ApplicationRole>, CustomRoleStore>();

services.AddScoped<IUserClaimsPrincipalFactory<ApplicationUser>, MyUserClaimsPrincipalFactory>();
...