Я пытаюсь динамически добавить схему аутентификации SAML2, используя IAuthenticationSchemeProvider
в ASP.NET Core и библиотеке Sustainsys.Saml2:
schemeProvider.AddScheme(new AuthenticationScheme("myAuthScheme", "myAuthScheme", typeof(Saml2Handler)));
Наряду со схемой мне нужно настроить Saml2Options
, которые согласны с этим.Я пытаюсь сделать это, используя IOptionsMonitorCache<Saml2Options>
, например так:
samlOptionsCache.TryAdd("myAuthScheme", options);
Когда я пытаюсь аутентифицироваться по этой схеме, я получаю следующую ошибку:
NullReferenceException:В экземпляре объекта не задана ссылка на объект.Sustainsys.Saml2.WebSso.Saml2Urls..ctor (запрос HttpRequestData, параметры IOptions). Sustainsys.Saml2.WebSso.SignInCommand.Run (запрос idityId idpEntityId, строка returnPath, HttpRequestData.ChallengeAsync (свойства AuthenticationProperties)
Таким образом, похоже, что свойства никогда не связываются со схемой.
Я не уверен, что иду по правильному пути с этим,Можно ли динамически зарегистрировать схему таким образом?