Программная настройка параметров sso с помощью Kentor
У меня есть приложение MVC (.Net Framework 4.5), которое было там в течение последних трех лет и использует механизм проверки подлинности с помощью форм. Теперь мы хотим интегрировать функцию единого входа с помощью Okta. Используя сервис аутентификации KentorIT, я смог интегрировать Okta с моим mvc-приложением. При этом все конфигурации задаются в файле we b.config (например, entityId, signOnUrl и т. Д.). Есть ли способ программно настроить эти параметры sso? Я обнаружил, что KentorAuthServicesSection - это класс, который мы должны создать для выполнения процесса. В настоящее время его чтение настроек из файла конфигурации.
public class KentorAuthServicesSection : ConfigurationSection
{
private static readonly KentorAuthServicesSection current =
(KentorAuthServicesSection)ConfigurationManager.GetSection("kentor.authServices");
}
Таким образом, изменение этой части ConfigurationManager.GetSection("kentor.authServices") с помощью пользовательской реализации будет работать? или есть другой хороший подход?
1 ответ
Вы можете просто использовать классы параметров напрямую - нет необходимости настраивать GetSection
,
Я предполагаю, что вы используете модуль Mvc. В этом случае вы хотите установить параметры для AuthServicesController во время запуска приложения, например
Kentor.AuthServices.Mvc.AuthServicesController.Options = myOptions;
С вашей собственной конструкцией этих же классов конфигурации. Например:
var spOptions = new SPOptions
{
EntityId = new EntityId("http://localhost:57294/AuthServices"),
ReturnUrl = new Uri("http://localhost..."),
//...
};
options = new KentorAuthServicesAuthenticationOptions(false)
{
SPOptions = spOptions
};
false
в этом конструкторе указывается не читать из системы конфигурации.
В примере проекта OWIN есть более крупный пример: https://github.com/KentorIT/authservices/blob/v0.21.1/SampleOwinApplication/App_Start/Startup.Auth.cs#L54-L82