【问题标题】:Dynamically load SAML2 IDP using Sustainsys-Saml2 and ASP.net Core使用 Sustainsys-Saml2 和 ASP.net Core 动态加载 SAML2 IDP
【发布时间】:2020-09-15 16:37:19
【问题描述】:

在 ASP.net 核心 Web 应用程序启动后动态加载 SAML2 IDP 的最佳方式是什么?

到目前为止,我可以使用以下代码在运行时动态添加 SAML2 IDP:

//DI in Constructor 
public ClassName(IAuthenticationSchemeProvider schemeProvider,
    IOptionsMonitorCache<Saml2Options> optionsCache)
{
    _schemeProvider = schemeProvider;
    _optionsCache = optionsCache;
}

public async Task LoadIDP()
{
    ...
    _schemeProvider.AddScheme(new AuthenticationScheme(schemeName, schemeName,typeof(Saml2Handler)));

    _optionsCache.TryAdd(schemeName, new Saml2Options(){...});
}

这可行,但当应用程序的多个实例在负载平衡环境中运行时,我仍在努力动态加载。

是否可以在每次有人尝试使用 SAML2 登录时查询数据库以加载配置?

【问题讨论】:

    标签: asp.net-core sustainsys-saml2


    【解决方案1】:

    是的,使用GetIdentityProviderSelectIdentityProvider 通知。实现它们可以完全绕过内存中的收集。请注意,缓存 IdentityProvider 对象是个好主意,特别是如果您让它们加载元数据,否则您最终会在每次请求时重新加载 Idp 元数据。

    【讨论】:

      猜你喜欢
      • 2020-07-27
      • 1970-01-01
      • 1970-01-01
      • 2022-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      相关资源
      最近更新 更多