我知道如何爲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,
};
});
}