我知道如何为appsettings.json配置服务并将它们注入到控制器中。不过,我需要在配置身份验证时使用ConfigureServices中的值。我将如何做到这一点?请参阅下面的示例。特别是这一行:在startup.cs中访问appsetting.json值
option.clientId = /*Need client Id from appsettings.json*/
代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.Configure<AADSettings>(Configuration.GetSection("AADSettings"));
services.Configure<APISettings>(Configuration.GetSection("APISettings"));
// Add Authentication services.
services.AddAuthentication(sharedOptions =>
{
sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
sharedOptions.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
// Configure the OWIN pipeline to use cookie auth.
.AddCookie()
// Configure the OWIN pipeline to use OpenID Connect auth.
.AddOpenIdConnect(option =>
{
option.clientId = /*Need client Id from appsettings.json*/
option.Events = new OpenIdConnectEvents
{
OnRemoteFailure = OnAuthenticationFailed,
};
});
}