在运行时设置IdentityServer openid身份验证

时间:2017-09-15 14:34:08

标签: c# cookies asp.net-core identityserver3

我的技术包括net core app,identityserver 3。

我正在使用IdentityServer进行身份验证。

我正在尝试设置OpenIdConnectOptions的新实例。

有没有办法可以在Startup.cs中的运行时或仅通过appsettings.json设置它。

目前的设置是:

var openIdConnectOptions = new OpenIdConnectOptions()
            {
                ClientId = Configuration.GetSection("AppSettings:OpenIdAuthentication:ClientId").Value,
                Authority = Configuration.GetSection("AppSettings:OpenIdAuthentication:Authority").Value,
                CallbackPath = Configuration.GetSection("AppSettings:OpenIdAuthentication:CallbackPath").Value,
                ResponseType = "id_token",
                UseTokenLifetime = false,
                SignInScheme = "Cookies",
                AuthenticationScheme = "oidc",
                AutomaticChallenge = true
}

app.UseOpenIdConnectAuthentication(openIdConnectOptions);

问题是我正在使用cookie并根据不同的cookie在上下文中加载一些设置,这会更改clientId,因此我需要在app.UseOpenIdConnectAuthentication(openIdConnectOptions);调用之前在运行时设置ClientId。

在Startup.cs中可以吗?

0 个答案:

没有答案